{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Multivariate Gaussians, K-means and Gaussian Mixture Models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.linalg\n",
    "import sklearn.datasets\n",
    "import pylab\n",
    "from matplotlib.patches import Ellipse\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Generate data\n",
    "We'll generate data from a mixture of Gaussians model by generating data from three separate Gaussians and concatenating the data. We'll do everything in 2 dimensions so that we can visualise things easily.\n",
    "\n",
    "In this tutorial, we'll sometimes avoid using a built in function, and instead do things the \"long way\" to get some extra exposure to some basic maths and statistics.\n",
    "\n",
    "Using the `np.random.randn` command we can generate data from a standard multivariate normal, and using `matplotlib` we can visualise this."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAFpCAYAAACI3gMrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztvX+QHOd53/l9ZtAAZiELs7A2CbkCCMbnAk4QCMDciEiQ\nPwzaIeSAhDakKIQhk0rlqnipiusMHgMXGLIEwGbCrUJ04NU5VXesJJWkyGNAEdSKFJUC5QNcvtAB\nLUC7ELQW4NgiCWqoOyEmhrawQ2B2980fsz3o6Xnf7rene6Z/zPdTxSruoqfnnZ3up5/3+fF9RCkF\nQgghxaGU9gIIIYQkCw07IYQUDBp2QggpGDTshBBSMGjYCSGkYNCwE0JIwaBhJ4SQgkHDTgghBYOG\nnRBCCgYNOyGEFIwVabzpZz7zGbVx48Y03poQQnLL+fPn/5tSaizsuFQM+8aNG3Hu3Lk03poQQnKL\niLxvcxxDMYQQUjBo2AkhpGDQsBNCSMGgYSeEkIJBw04IIQWDhp0QQgoGDTshhBQMGnZCCCkYNOyE\nEFIwaNgJIaRgpCIpQEgemJ6p4dipy/iw3sDt1QoO7tmEyR3jqZ+LkDASM+wiUgZwDkBNKXV/Uucl\nJA2mZ2p46rWLaDQXAQC1egNPvXYRACIb5CTPRYgNSYZifgPADxM8HyGpcezU5bYhdmk0F3Hs1OVU\nz0WIDYkYdhH5LIC9AP51EucjJG0+rDci/X5Q5yLEhqQ89ucB/CaApYTOR0iq3F6tRPr9oM5FiA2x\nDbuI3A/gp0qp8yHHPS4i50Tk3NWrV+O+LSF95eCeTag45Y7fVZwyDu7ZlOq5CLEhieTpLgD7RORv\nA1gN4NMi8qJS6jHvQUqpFwC8AAATExMqgfclGSbvVSDuWpP4DEmeixAbRKnkbKyI/DKAfxpWFTMx\nMaE4Qam4+KtAgJaH+tyDW2nMCImBiJxXSk2EHccGJZI4rAIhJF0SbVBSSv0egN9L8pwkf7AKhJB0\nocdOEodVIISkCw07SRxWgRCSLtSKIYnDKhBC0oWGnfSFyR3jNOSEpARDMYQQUjBo2AkhpGDQsBNC\nSMGgYSeEkILB5CkhQ0Le9XuIPTTspPDQoHGK07DBUAwpNK5Bq9UbULhl0KZnamkvbaBQv2e4oMdO\nUmFQXnSQQUvi/fKyG4iq35OXz0X00LCTgTPIsEA/BcnyFN64vVpBTfOZdfo9efpcRA9DMWTgDDIs\nEFeQbHqmhl1Tp3HnoTexa+p0RwgnT+GNKPo9efpcRA8NOxk4g5T1jSNIFhaf7/fnCHqoRGVyxzie\ne3ArxqsVCIDxasU4+ISyy/mHoRgycKKEBeISR5AsLD7fz88RFA5x1xb189jq9wzy+yH9gYadDJyD\nezZpR+f1S9a3V0GyMM+1n5/D9FA5+sYcPmkuRY5/R0mGDvr7IcnDUAwZOFHCAmkSFp/v5+cwPVSu\nzTcjx7+jlnzm5fshZhIdZm0Lh1mTPJDmUO5dU6e14RATAuDdqb2RzjVereDtQ/f2ukSSAhxmTUhM\ndJ7rQ3eP49ipy4kkNIMwJX2rFUd7fFD8m8nQ4YMxdlJo4jbaeOPzg6zvNiV9AUSOfzMZOnzQsJPC\nkrQh7ncXq5+gpG+UhxWTocMHDTspLEkb4qyENKJW+XAG7fBBw04KS9KGOM8hDc6gHS6YPCW5IUon\n5vRMDSUR7b/1aojjdLESMkjosZNcECVe7h67qCnljWOI8xDSoCojAWjYh5I83vxR4uW6YwGgLBK7\nBr3fIY043830TA0HX72A5mLrgVarN3Dw1QvtdZPhgYZ9yMirJKspLl6rN7Br6nSHATQdu6RUpj+j\n6bs59/5HOHPpatvY79481vGz+9mPvjHXNuouzUWFo2/MGT93Hh/yJBwa9iFj0CV7SWFKXALdD6e8\nJjlN381LZ6/ANde1egMvnr3S/nfvZ78239Se1/T7vD7kSTixk6cislpE/lBELojInIgcTWJhpD8k\nVSkSNZEZV35Wl7j04tVLyWuS0/QdhIl+9KqVTt314pKEx34DwL1KqZ+JiAPgP4vIf1JKnU3g3CRh\nkvBme0lkxvUKvYlLk+fuGsY8JDl1BO1Kwviw3kC14qDe6PbOTTIEWanLJ8kT22NXLX62/KOz/N/g\nlcWIFUl4s1E8vSS9wskd43j70L0Yt5iK5B777tRevH3o3swbdUD/3egLNru5vVrBkX1b4JQ6X+GU\nBEf2bTG+JsrvSX5IpI5dRMoiMgvgpwC+o5R6J4nzkmTwhkKOnbqMh+4ejyXJGsXT64dXmNdQiwn3\n+3nixCxWrShhdMRpfzeP7twQGIICbn32yR3jOPbwto7v9tjD2wJ114v0dyS3SCR5qpRaBLBdRKoA\nviEin1dK/cB7jIg8DuBxANiwYUMSb0ss0IVCTp6vxSr7ixLO6Ucis5dQy/RMDUden2uHKkZHHBx+\nYEvqnrz/+6k3mqg4ZRzfv729tok71nV8VlNVDBCtHDOvISsSTuJ67CLyVQDzSql/aTqGeuyDox9a\n3FF0ytPUNPeu4eDXL6C51HmtO2XBsS93e7SDLAHs9fthmeJwMjA9dhEZW/bUISIVAH8LwKW45yXJ\n0I9QiF+nvFpxsNop4YkTs11VL1mYxnPs1OUuow60arz9sf6o04bi0sv3M+g1kvyRRCjmNgD/XkTK\naD0oXlFKfSuB85IE6FdNt7vlt6l6SVuAKshI+v9t0HX+pu9HoeXN68Iuee1FIIMjiaqY7yuldiil\n7lJKfV4p9VtJLIwkQ78TZEden8tMLbSpXj7oIeb/t0GXAAbV57vNSH7PPKzckxB2nhacfibIpmdq\n2rppYPBGJmjncHDPJmOM3f+AC9vhJB3btqnP99JoLqIsohU4Y5kicaFhHwL6FQoJ8soHZWRcQ6sz\niu7OwU1C2lTFBE0b6lcLvvv93HnoTasGkEWlUHHKnIhEjNCwk54J8soHYWR0FTd+vN2oNsY3aIez\na+p0X2Pbtp2n455YO6tiiA4adtIzJkMkAjxxYhbHTl3uq8ExyfN6qY7o2+mDMD0E+h1/P7hnE544\nMRvotXubkWjIiQkadtIzurAFALjh336rBdoY1J99stBOouo83Cgx86gVRlHO7R4bZNTHe1w3GT4S\nb1CygQ1KxcFrYEqGpF6cZqggTM09fqoVBzcWlrpi0g/dPY6T52vWzVO60I9TEnxq9QrU55tYW3Eg\nAtTnm6iOOPjZJwsdCdsoTVx+vH/DLDR9kXSwbVCiYSeJYUr+CYB3p/Ym+l7TMzU8/Y2LuH4zOBQT\nhKm6pFpxsGbVCq037H2Qra04uH5zoWu4RRC6h1zYA8pvtPvRTUzyga1hZyhmiAnbzkfd7g9qwIWN\nh2uDzqgDLb0Wt3rGH07yxrZ3TZ02lnuaiCKUBnSGX8KOT6uOnWGh7EHDPqSEle71UtoXVCoYZ51+\no2GTNE0Sb8OVbb25Cbej1Gv8TA9Ekwc+6AlRQYbb5jqi0R88icj2kvwRppPei4560rowJk2UqIa1\nWnHglG2VzfX0+t5B53KTulG7gwcptxumSxN0nVDTJj1o2IeUsO18r9v9JAdcmIxGWeyNdMUp4/5t\nt8Ue/VIWibxLcMpinF7kfUhGfSB6jweAkrTOd+DELLYffStRwxn2gA+6Tjh6Lz0YihlSwrbzWRgI\nbTIaus5LoJWk/Ru/sA7v/VmjQ7v85Xc+MMbTbdC9l4k1K8uYv7nYEXYwJZW9ny9qXbp77MFXL3Qk\nb+uNJv7XV2Zx5PU5fNxoxg5/hD3gg66TrOUChgl67ENK2HY+C9N1TA8R16Md9TUfKQDfu/IxDu7Z\nhHen9uLgnk04eb4Wy6gDwC9tWGu9S6iOrGzvVoBWPN307nEfksdOXdZW5CyploH3hj+emb7Y00Dx\nsPF5QdcJR++lBw37kBK2/fdv991QhBs7HQRBRmNyxzhGVnZvOMPyBL3wB3/6kfXDwfVGvfFlE7V6\nI9DImtQq/e8VRqO5iJc0KpE2xj7sAR90HWXBORhWGIoZYsK2/+6/9UP4yqZaIkyZstc8gUu5JCgB\n2iEcXqL4+2uXY+q2DxXT39OmKslWWwbo/gyusXd/b1qHjTqo6Tri6L30oGEngfRjqION0fIbfu8M\nUJe1FUdbR+4a1zDDt7ik8OkRByMrV7QfAnHb9a7fbEkYRKme0f09bf7uB/ds6oqxR0Fn7HXfaxxd\nGu9r3e/0iROzNPJ9hoadBNKPBJjJaD35yoX2zybD774+yHC64fDdm8fw4tkrgWupzzcx89X7ACTT\n+NRcVDj6xhwE0R4S/r+n6e9bqzdw56E3b9X0f3kbjr4xh2vzrQfciFNCc1F17EKirKVfiU3dw/yJ\nE7M4cGJW24RF4kHDnnOSbADRnasf1TFB1S4HX70ApyRoNJc6/q3RXMTRN+bwSXMp1PBem29ieqaG\nN7//k9C1eD+H+3fz6rb3gmtko+D/ewbtNrxx8uce3Np+MLn4v8fdm8e6NHFMxr5fiU3dwzwsDER6\nh4Y9xyQ5+MF0LpNQVpwEWJDRai4qY2ghisHUTUzy45QE8zcXOjxgALixsBT4ujisWVnGzYWlLnEw\n/9/TNPXJi3eXExbznrhjXaix964j6Y7RsJ0AZ7YmCw17jkky/m0615lLV/Hcg1utbnJbY2CS+02S\nMKNeXRbwch8Wbmggboy94pSxakXJ6PFXR1aGDslw/45hnwFo7XJ0YSpX4Mwb5ggz9l5J4KQT5jaJ\nXta3JwfVHXNMkmqKcc8VJCULdFdGnHv/o9D4d794bOcGnLl0NRF5AC/jHq//wIlZ7TH+v6cubHLi\nDz+wMupedNLELlElffuhHhlVmpjoobrjEJBk/DvuuUwev9/Aud7faie9FopvfK8WS+5Xh1MW7N48\n5tGmbzUK+fH+PXWeca8Pu6CcQNRdXD8S5v6h3f4YP+vbk4UNSjkmyQaQuOeKctM3mos9JRiTIqpR\nd3tOR0ccrDSIiTUXVUcTkM6o+/+eg1SpjPL99Ktj1NURem9qL47v356YWBzphh57jkmyASTuuUw1\n5b3glAVrVq7Ax42mcSrTIHHfPexhZDvWziWqBzw64mDvXbdpk54lCX5gRTHK/ZBf9sOZrf2Fhj3n\nJHmD9Hqu6Zkart9cSGQNoyMODj+wpb2OjYfeTOS8aXP9RvffJ0rnKACMrFyBZye3apOeR16fA6A3\n7FGNci8PeequZwsa9iGhnzeeSYwqCjqPdnqmFrnRJ6vUG01t9UovzUP+B/D0TC1wt7TaKeGJE7M4\nduqy9fce5SHfjyoaEg9WxQwB/R5+bKqosWV0xOlqsgHsh1XnCV31imvcqxbhLP8DMKzaxP/gcH9O\nstuTM1gHh21VDJOnGSBMxS8ucQcehK0vblLtZ58saD9zEeua642mtgNzdMSxaoyymWDkP7fu5ySn\nGVF3PXvEDsWIyHoA/wHAX0brunlBKfW/xz3vsNDvbWyQIJUrGxsUnglaHxB/BijQaiY68vqctZxB\nmow4JTSaS4E7lF7CR1GqhFx5hckd47GMp6lz1QZvaM+U4KbuenrEDsWIyG0AblNKfU9Efg7AeQCT\nSqk/Mr2GoZhb9HMbG3WbrgvPmNY3OuIYdVsEwMjKcqxa8YpT1soZkFuMjjiJlI06ZcGxL2/rOaau\nI8lQH7nFwEIxSqmfKKW+t/z/fwHghwD4bVrSz21s0DZd51XqwjOmdVyb7w4puLTquOM5DF45g3hj\nqAfP6IgTaS5rryTVC+AqUtpiuq7KIqxLzwiJVsWIyEYAOwC8k+R5i0w/Z4sGPRxMZtf/ml7DIX51\nxl74sN7A5I5xY3t+Vkmz+apXoqzZdF0tKRVZyoL0h8SSpyLyKQAnARxQSv255t8fF5FzInLu6tWr\nSb1t7unn+LCgmaHjlt2FuvUNCoVWKIhkC84yzT6JGHYRcdAy6i8ppV7THaOUekEpNaGUmhgbG0vi\nbQtB2OzROOiMsqA1gML0QNm9eayjAgYAnntw60BCCzqyljwtKtWKE37QMlGdkX5XfZFukkieCoB/\nD+AjpdQBm9cweTo4npm+2DHbEjCrLuo0ugG7+mqSb55fHj3oVruYpH9dbBve+tlDMYzdrrbJ0yQM\n+98E8P8CuAjADaz+M6XUt02voWHvLzalaLqqm0E2BI04JSjcisWPjjhQKlilkPSHEaeEP/rtXwus\ndona2OR9QOiIW/XV76a7rDIw2V6l1H8Gcle4UFj8F7xJQEuXABtkQ8m8L7max4RjHigBkJJgMUDf\nvbmk2oY4qNIJsJtValMOGfda68eQ9SLBztOCYSsFq0t0MflVPH40tRc/tyrYf2suKjz5ygXr3VpQ\n9+r0TA1PvnIh9BqMe62x2zUYioDlHH+c0ebmdMqC6zc6Z31O7hgfyMi6omMasJEGAnsdn0WleuqY\ndbtXz73/Eb514SdWobQkqr76WSZcBOix5xh3y+sOd3DVAoMYHXGA5Vi2d9r99EytXaEzOmJfIUE6\nyYpRB1pGOspyFHqLqS4qhRfPXrEy6klVffWzTLgI0GPPMbqwi3tz6m7oilOGUt2Dnr2xSfc/d0tt\nSrwC9qWIRZHeHQbcBKm3KiYJbBObtpUuSQ6ZKSI07DnGFE9UgPambDQXjWGWWr3RFZoBoK082L15\nDN+68BOrNbqaLye++0FszXbSf9asLLerVcIqW2wpi1gb9SiCeJzCZIaGPceY4ozj1UpPSSQ3NOOt\nenjo7nGcuXQ1tNZdx/jy8WcuXaVRzwnXby62k6FJ5Ft0nrrJK2elS3Jw0EaOCarlNXlaUZN7/hsz\nSq17XhqbspTwzALVioM1q1bE9tTXrCzDKZfwcaOJtRUHIq2yVpOq6BMnZrUhOwGoQbPMwOrYSXqE\nxRl1Rj+qB+bX7LbdCQjy02xEo95JvdHExzG+u3HPzs69BrzXgklVtJdKl2HsPrWBhj3nmOKMJqPf\nS8x0Ual2rNOmpJLJ0vxj6lgOwru72zV1OpIT8WG9geP7t2udkSANGs5a1cNQzJBh0xUYxOiIg4/n\nm4gvykuKQFkES0q18y9nLl3tKYRTFsHXvrINgH2lyzDOWh2YVkwv0LCnS1LVDmS4EQCP7tzQNuZx\nd2pRtV6Cmq8EKGRohsOsiZHJHeN4+9C9eH7/9q4mD6ckKFH5h1igAJw8f2umblwXMcqAdSA49u5v\nvhs2aNgTJE3d6V7e26sFD7S2w80lhU+vdlCmdSchlEUSl5+IUqa7e3P4XIeoD4uiwOSpJWHZ9zQT\nOVHf2/9Z/LXpealmIekhMCuHxiGK1suZS3aT2IZRGIweuwU6TRb/Fi+ouaLf2L739EwN24++hQMn\nZjs+y4tnr1D4iwTi38BFNekry9IxJeyxnRvglDtP6pQlktaLrcEeRmEwGnYLbAxnmjKipveo1Rvt\nh4/7cKI3Tnohbq2/Ui3hruP7twMAXjx7pbsbOeJ72BjsYRUGo2G3wMZopzngN+g93J2FrU57LzAa\nXzzc7zSpWbfNJYUjr8+1d76mY6LscHUKj05ZUK04ic8PzhuMsVtg0xGn0zIflLcQpKPu7iz6uXNg\nM1LxUGiFX2zj6GtWlvFJcynweJvdYpQSXCo8mqFht8DGaCdxkcVpj161ohSo3JikBCsZDmzDL05Z\ncHMh2KjbIkB7NoCJfsgIFE2agA1KlvT7i+91OG/cTlJCouKUBWtWrmiLe338SRM2ZmR0xLGabRvU\nOdqPIdZ5GozNBqWEcZt63p3ai7cP3Zv4F95rVU0/Y+eE6Nj/19Zj9vB9OL5/O24sLFkZ9WrFweEH\ntljlY7xJfz/9qD5Ls6KtXzAUkxFsq2p6mXFKSJKcPF/DxB3rIjkV92+7DZM7xnHgxKzV8aY+jH5U\nnxVxMDY99gFj6hC1qarpZcYpIUnjSjlHcSpOnq9heqbW7nK2eQ+dx9yP6rM0K9r6BQ37AAlqdLIZ\nzhs045SQQRI1UdpoLuLI63Pa69yE7sHRjyHWcc6ZpoxIEDTsAyRs9Jer22KqwQ2aceq+rlpxMOLc\n+lrdjkG/8efDgAwat9zRf52bSuV1NfQ290lUej2nTUd6WrAqZoCYZEaDRn95Y+qm4QfeKgJThv+X\nNqzFH/zpR+33d8eWsROV6OhlXGC14uDmwiLmm2a1fl3Fy8ZDbxqPfy/DI/HS0INnVUwGiRrL83sE\nOqNuE65pNBfxtseoA62hxX9xYyHyZyDFp1ySniQE6o1moFEH9OEVU9zdNh6fFllOurIqpk/o6t6j\ndqeaqg68U2vc1+6aOo0Plx8Atixy2CfRsLiksLIsuOnXcgEw4pSg0Ltcr78BaXqmhvmb3Q5GlBh3\nWo1FvcxoHRT02PuAKfYGdMcXg2J5pif/klLtenoAHe9FSBLojDoAfLKwhF/asLbn8yoAR9+YA3Dr\nPvE3LVUrTi5i3P1I5CZFIh67iPxbAPcD+KlS6vNJnDPPBCVJozQ32XgEbFAig2RJAWd/dC3WOa7N\nNzE9U8OR1+e01+6aVSus7pGwYoR+k2WtmqRCMf8OwO8A+A8JnS/XJBV7swndZCGeR4YL21LH8YAG\nuiOvzxkT97bXdJBctRua7LexndwxnglD7ieRUIxS6vcBfJTEuYpAUg0PNmVYWYjnkeHCRsq3WnEC\nQxJB1VhB17S3brxkWIcAmSxBHCQDi7GLyOMick5Ezl29ajfSKq8kGXsL06g5uGeTsSZ9dMTpmGcK\ntG44QnqlXBI8cs/60OOO7NuCyR3jPV1vpvvEpkpM0C0jnXfdl14YmGFXSr2glJpQSk2MjYUPoc0z\n/WiiCHqvR3du6DLuFaeMww9saT9k3JuAdeukV9asLONrD2/Ds5NbUXHMpqNacdrX+pF9W+BEGIw+\nOuIY75OgKjH3PjMFiYYtZMlyxz4RJfYWt2Tr2cmtmLhjHY6+MdeuMFi1onXjMblKkqBacTB7+D4A\nret1wVAq65QER/Zt6fylpV13yoLDD2wx/ntQldjx/dsDvfJhC1nSsKeMv1PUWxoZxbife/8j1D1l\nY/VGkzrtJDHqjWY7IWnqgBYBjj28reO6PfrGXPdsUxMhh5mqxBSAJ07MGl+elRLEQZKIpICIvAzg\nlwF8BsD/D+CwUurfmI4fVkkBHaa2ZKC1tQzy3l1PP0hlj5OTyKAQAI/u3ICX3/kAi0r1JEsQdciG\nzfmyUoKYBLaSAol47EqpR5I4zzASFPsL8t5tL/JFpVAuCbtMSd9ZuaKEF89eaf/cyyXnd1L8YcqH\n7h7HmUtXrSSDBeibZkvWYSgmZcKGZZgaLqLEzmnUySC4sRCsE2ODAHhm+mLbeHurXGr1Bk6er+G5\nB7daDeywiasXbdapCw17yuiakPx4vXqb8AsheUUBeOnslbYx77V0URdX9xvx3ZvHcPJ8LXZ+K4tQ\nKyZlvKWRJlzPw1vHS0hRCdtfflhvYHTEXB+vKy/W6cq8dPZK4WadutCwZwC3CemxnRu0/757c6vu\nn6WLhLQcncMPbIFT7qyjdMqC5/dv1zbymaaP6ShCzTtDMRnizCV9R677+yJccITEQYCOOLhtfDzK\nvVOEmvehMuxZS5T412MKsbgXZVii1cSalWVcv0lPn2QPpyT41OoVXdK9Jlwv2yvydXz/9tD72Pbe\nKUrN+9CEYtLWbrZZj6lBz/UgogwCdhGARp1klmMPb8PMV++znsE74pR6uo+D7h33vfsp/TFohsaw\nB2k3Z2U9Ct3d114Pwq9BU604GB1x2v/vjznqBJEIyQrj1UrbiNqGPxoLS4H3sVf9cdfU6bbBd+8d\nnTKlOww+yqyErDM0oZiszCcMK1d0LzJTuChIg8Y2tENI2vhDHjZlvwBgaqL+sN4IleeY3DGOJwz1\n70XLXw2NYc/CfEKbbtGySM85AL/RD5IrICRN/IKP/mSoSY/GJJFxe7ViNVEpC3ZgEAxNKCYL8wlt\nyhUXleo5B+Dfhm78+Yp17JKQQXL95iKeeu0inpm+2L5mj526jIN7NuHdqb1Gzfedf3XUeB/b7MoP\n7tmkLZMsQsLUy9B47FmYTxi03dN5Il5vQ1fRA9z6PGsrDq7fXGgr6dXqDXrrJNM0mosdXabe0Imp\n9Pe9P2vguQe3au9jU4izyxv3O/wFTEQlou4YlWFVdzSFRtyYuu6bEADH92/vCuE4ZQEU0IyoA9OL\n4h4hgyRIkVQAvDu1V/tvulBnxSl3VLoE3YN5EAyzVXccmlBMFggKBwXNSdWFcJqLKrJRB2jUSfYJ\nkpkOioXbTC7LShFFvxmaUEwWCAsH6byNg3s2GTP5hAwTNjmxsMllw5I8pWEfMKYLL8joU82RFBXb\nXoukBmboyiqL0m3qhTH2jOGtc3djjVVfYpSQovDYzg0dwzl0JB3/zpq0SBQGOkGJJIM/+ePGGuuN\nlo6GjXcjYm7iICRrPDu5NXAiUj+86SiD5vMKk6cZIqzO3cZe06iTPDE9UzPquFQrjpV2i0lGYJih\nx54hipaZJyQMd8RdteJgtVNCfb7ZFR4JCp08M33RWAtfdK88CBr2DEF9FzKs1BtNVJxylwRvkP4L\n0DlGz6XRXMSTr1wA0F/jnuVYPUMxGaIXWV5CioJObdWk/3LgxCyefOWCMTy5qFRfZbmzJgPuh4Y9\nQ/jnn2oURgkpNG440o2bB+1ggxqZgP7KcmdNBtwPQzEZw5+x98cQo0D5AJI3bq9WrFRQbelX3irr\nHaw07BlCF7N7dnIrJu5Y1/H73ZvHcOK7H4TWtdOokzzhlFoqi0kObQ/rKO01Tp71DlY2KGUEGwEj\noOXBv/zOB6HbUELyRkmAtRXHev6pH3+fh+7+8WLaGVQrDo7s2xJo4G3v16Rhg1LOMMXsjr4x1/Yo\nVjslNJpLKa2QkPhUKw5uaMbbAa0dZq9G/b2pvZG9b9POoN5ohpZMZkEGPAga9oxgis1dm2+2L3Ya\ndZJnBC2jOTriJBZqAdAuNojaURoUD/dPXtKR5Q7WRKpiROSLInJZRP5ERA4lcc5hIyuxOUL6hRsm\nuTbfTGyyVxzJgbB7LiuJ0F6IbdhFpAzgXwH4NQCfA/CIiHwu7nmHDdawk2FCAZGN+3i1gsd2bgjU\nW49C2D1bJ6wRAAAgAElEQVSXZ2criVDMFwD8iVLqRwAgIv8RwJcA/FEC5x4adDG76zcW2gJghBQN\nheDpYV4E6EsMe9WKkjYslHcp3yQM+ziADzw//xjAPQmcd+jwx+ySrOclJGt45Xg3Hnoz8FgF4KnX\nvo8nX7mARaVQFsEj96zHs5Nbe3pv3b3lVtUkpf2eJgNLnorI4wAeB4ANGzYM6m1zT6sShoadpMvo\nSO9liCa8HvG4hU6St3hgUam2jnsvxl1XEeMa9TzMPg0jieRpDcB6z8+fXf5dB0qpF5RSE0qpibGx\nsQTeNh/0KinqehRJ30yE9EI/rsMDJ2bb90SvOaaX3/kg/CANpodIrd4ohAxw7AYlEVkB4I8B/Apa\nBv27AP6eUmrO9Jo8NSjFUXDTbfeckuBTq1do5Um9r3O3nIQUHbexB0BP1/3z+7dHvkd/4alva9+n\nJMCqFeWBNx7ZYtugFNtjV0otAPh1AKcA/BDAK0FGPU/EVXDTbfeaSwrX5pvG87nvSaNOhgVvzfjX\nvrKty3MXmCtoSoKe7lHT/bWkkGlxL1sSibErpb4N4NtJnCtN/N759RsLxi/Z5ultUwfrP1+SOhle\n3ITQk1+/gEWKyJCMUas3sGvqND6sN1AdcbBqRQkfN27tas+9/5F2NqquqsXmHrWJ6XvJW007ZXuX\n0XnnplJD2y/Ztg7We75+XUC7N4+1PKKHt2F0xGn/vlpxUHF4GZD0ce+9a/NNXL+xgOqIgw/rDRw7\ndRkTd6zDYzs3oORx3SsBEhth95Eupl9xyqhWHO3xeatp5x29TBRP2fZLtk0Iec/Xrwvo5Pkanpm+\niGOnLqM+38R4tYLn92/HkX1bsEAPnvSZqLMFdCFLoBX/dmk0l4whmrD7yDv7wNvsdGTfFq3Bz1tN\nO7VilrH1lKN8yf6mo7UVB9dvLnTI7frPd3DPJqvadZFog6sbzcWu2ZAHTsx2KeIRkjTe5GivfRmN\n5qJW1dTtYPWrOtrco0FaL1kV97KFhn0Zk77y6IiDkZUrev6SdU1HQReN/2FQHXHws08W0PR51b3k\nVnUvoVEn/aTilNoVJbumTsfKH5kSnt4O1iQMcZbFvWyhYV9G5ylXnDIOPxCsyxwVm4sm6GFQEmHF\nDMkN69asal/LcfNHZcO1X5SmoiRhjH0ZU8wtC0/uyR3jePvQvXh3ai+WejTqHJ9K0sC7C46TPxIA\nj9yzviv+7ZQE8zcXct1M1A/osXvIwxbMFDIKgnF0khaC1o5zcsc4Du7ZhIOvXggd6ag7x6M7N3SN\niXRzVm5XrDfJmvX7uN/QY88ZvbRe06iTtFBAu7lncsc41qwM9yWrFadj53x8//a2Hox397pm1Yqu\nh0Qem4n6AT32nOFPrjLmTrKOG1ufnqlZyVCHzRv1n9f298MEDXsO8YaMKO1Lsk51xGlfp2GsWVm2\nDqOYwpJ5aybqBzTsBcA0LICQLHBtvokDJ2atj/dqs1crjtGDN1WyBdWwxxH1yxM07AOi1wsq6HX0\n1kmRKAlw/WbntVxvtB4K597/qEt3XTd1LOi+8t8vRU620rAPgF4vqLDX9UswjJA0CFK2eOnsFUzc\nsa7rfolSyaa7X6KI+uUJVsUMgKALykUn7h/2OiaJyLDgra7plWFKttJjHwBhF9T0TK2jvrdWbwTW\n+7oSp2srDoddk6EhrgEepmQrPfY+Mz1TQ8kgbedeUEffmOsy4s1F1SFR6qdWb+D6zYXE1klI1olr\ngE1SvXlTbrSBHntEoiRBg6YheS8o0zzJJRXcNRq1g4+QvBJkgG3vyajJ1jxDwx6BqElQU3KzLGKt\nQ0PTTfLK6IiDa/NNlCQ4MRpGUMnjM9MXu+Sog+7JPMiGJAFDMRGwSYJ6McUEl5TquLhMU1tGnBLF\nu0guKYtg7123oeKUrY162RCyXLNqhdYYT8/UOoy6C2UFaNgjETWrbooJ+n9/ZN8WOJqA+nxziR47\nySWLSuGls1esy3FNkrwAjKJ3x05dNt4fRax0iQJDMRGImlW37Yzzxv5q9QbVGEkhiHINP3LPeu2E\nJKCVZ3IHXa+tOBAB6stj80wUsdIlCvTYIxA1qx6k8e6vWweAtw/di/FqhUadDB0vnb0SOCHJHXRd\nbzTbs1BNCFDISpco0GOPQC9ZdV2yxpSEPff+R5G11l3KIlhSig8FkkuSum5d7fYo4yiLiKgUJF8n\nJibUuXPnBv6+WWHX1GmtAQ8LwYQNsH5+/3Y8+coFyviSoUMArdHW6Sm5w7XzaNxF5LxSaiLsOHrs\nKWDyyk3m2CkJIOF160+9dhE7/+oo3v7Tj2KukJBkCEqKhjFerWDeMyEp6DjTzNNh0ofxwhh7CpjK\nukw0l5RVM1KjuYj3/qyBx3ZuaL9HWQSP7dyA8SFPJpF0WFQq8sQv4Fbuau9dt1kdZ8JUHePKchR1\nVio99hToZ6ikVm9g4o51XRKn/kYOG1idQ+IyvhwecSu+bLGpRR+3iJebKtkEt3bORZTvpceeAibv\nOalmpIOvXmh7INMzNWw/+hZejGjUARp1Eg/Xm3bnlEa9vj+sN4wet6BVRRZmiHWVbDqHpWhNTbEM\nu4g8LCJzIrIkIqEBfdLCVDb56HLIxOYGcMrmo5qLCkden8OO33oLB07MUgGSpETLfLqlvVEdhZKI\n8TXVEX23th9dybHpnL1WpGWRWFUxIvI/AlgC8H8B+KdKKatSl2GvigHCS7BMlTNAvIQUIYPENvEf\nlYpTwro1q3oqYQyqSju+f3umwzG2VTGJlDuKyO+Bhj1RTGPvyiXBYhxFJUIyxMqyoLmoUB1xoBTw\ncaOJUg+OS5QSxumZGp44Mav13IMqbLKArWFnjD2jTO4Yx0N3j3eFZWjUSZG4uajw6M4NmPnqfZg9\nfB/endqLpR6czUZzEUden7M6dnLHeOE1ZkINu4j8roj8QPPfl6K8kYg8LiLnROTc1atXe1/xEHHm\n0lUmMEnhefmdDzp+7lXnpd5oWpctmgoYiqIxE2rYlVK/qpT6vOa/b0Z5I6XUC0qpCaXUxNjYWO8r\nLgC6+aY6+uk9jDglRCynJ6Qv+MMupkoWwCxx7WJb2VL0aUqsYx8wUYZ19GumqbMc12T+lSSFm9AX\nACMry7h+006u130t0FlQsLbiYLVTQn2+2ZEc3TV1OvCesHWGij5NKZZhF5G/A+D/ADAG4E0RmVVK\n7UlkZQUlSotzvzxqjtQjSfPIPes7muI2Hnoz0mv9Dk+90UTFKXdVqYQZ7iihlCJPU4qVPFVKfUMp\n9Vml1Cql1F+mUQ8nyrCOeohGBiFZ4cWzV3pqy9/1C60uadvpZEGGu0ihlLiwKmbA2E5VCjo2qtYM\nIYOgl87N7135GNMzNWuHZ/dmfX6u4pRyq9jYD2jYB0yUpI3p2EfuWa/9fVhiiZB+4gprTc/UMGrZ\nGep65UEOj7fYwF9B47JuzSoadQ807AMmaKqS7tiH7h7vUGp86O5xPDu5VXuOjykdQFLGLQbYe9dt\ngbIXXj6sN4xOzO7NY3jqtYvtCUqmxqWi1J8nBQdtZJTpmRqOvD7XVQEQ1GEXJENAyCBxlRdNHZ7+\nY98+dK9WZiOKKqSN2mPeYedpjnErBHRlXUEqdCavx6vPboNTEow4vDRIJ+PVCh7bucHqWNeDXhHi\ntTtlaYchXRXId6f2tpUbo3ji7m6haNrqvcC7N4PoKgS8BF3sq1bc+kpHRxw89+BWPDu5FV/7yrbA\ngQdlkXZYZ/8X1kMlJiJMioArkztxxzorJ+H2agXHTl0OL60N+eeoBQRFk9/tFRr2DNJLra7Oy/+k\nuYRz73+EXVOn8cSJWawO8MIXlWpvf89cuhr4YCHDhwKw47fewsGvh8/UdWPjNiGU5pIKNMS7N491\nuRgVp4yvfWWb0fVgvJ2dp6mjiyuapr4A5goaUx2wd2pS2OxIdytLo050mK6fkgCfXu3g40arS3T3\n5jGcPG8fDjEZ4umZGk6er3U49QLgobtbjUWm+HtR9F7iQI89RVwv2834u4Z19+YxbdjEDa3okkOm\nmyNqarzRXGSdPInEkkJbmfHtQ/dG3vGZDLHOWVFoieMBxdd7iQMNe4qYvOwzl652lTM+v387Zr56\nnzHjn6SX0usAYjKcCNCRsIwSCvEmT/2ENS1FKR0eNhiKSZGgCzeqjsXBPZu6wii9DqP2DiD+cHk3\nQYgJBXRoHQWFEv2sWbki0FkJC7UUWe8lDvTYUySKvIAN/oqYRy1L0/zs3jzWUXrGjlYShtdJ0YVI\nTAQ11UUNtdjKYQ8DNOwpkkSMcHqmph1a/UlzCRN3rDMa5fFqxThswI1huue/fnPBej1kOCmJtA2p\nafqXjiAnJkqoxZSvGlbjzlBMisTVhDbNRQVu1fMe2bel6xj34fHEiVnteb3el1UtMhl6FpXCwVcv\nAGhd1zbTv2ycGNtQSxQ57GGAhj1l4sQIbRqZvA+PWr2Bskj7gq+OONoStpII7jz0ZqRYKSHNRYWj\nb8yFdowKkPhgiyhy2MNA4Qy7ri68qE9s20Ym9/P7Jzc5JWlPU/LiNqDU6o2eE7BkOLk238SuqdPG\n6V+uLkzS2CRah4lCGfYoY+eySpQHU5RGJp1331xSqFYciJibTxR6r64hxaAkrVp1W2r1BpyywCkJ\nmp4X+q/JJJ0wXVXYMNe0Fyp5ajuFJatETQBFGTpg8u7rjSY+aS4FrksBHQksW61tUgyiGHWX5qLC\np1avMCY+k052sqa9k0J57HmPs0VNAHmrV7zohg6YvHs35h6Ed/vsygkTEkZ9vomZr96n/bd+JDtZ\n036LQhn2QcfZko7nR30wmX7vTrLxrsu0VQ0z6t7tbFAVDhkenBKwsBQengu67/LuhGWdQoViBqkd\n0Y+62agNS0E3jnddbhmabqtqqmW/Rev2nZ6p4clXLtCoEzQtjHrYfRf1mnabjzYeehO/8NS3sZFN\nSIEUymOPWxcehX5sJaMmgHTH63DL0ExaMwdfvWCsVW80l3DgxCzKJQmVayUE6FRgNBHlWvfvFL1V\nW3krjhgUhTLswODibP3YSkZ9MOmON1XJBEr2WtjrxV4yaGQo8SowmohyrQf1awxzE1IQhTPsg6Jf\n8fyoDyb/8RsPvWn1Ojc/wAakYhO1VNGWsBJYGwfH9loPOxfj8t3QsPdI2nWzpsRt1dAY4tWMYRJ0\neIhr1AWtuaX+UF3FKWGVUzbuBKsxS2K913dJgsOAw9qEFEShkqeDJM262aDE7ZF9W+CUuuWXRG5p\nZodJERDiogAc+/K2LjG5+eYSPmku4bGdG+BoBlb/7JOFnhOb/us7yKgPcxNSEPTYY5BW3WxQ4tat\nNz/y+lyH535tvtlONHHraqZfoYs8Y2rwc4fCrFm5omuX6M4ytbk//LvP+ZsLVo7H6IiDww9sYXxd\nAz32HGIzWWbNqu5ntmv8uXU1U3Sj7vetbaR1a/WGNrzn/ptJU93GgdDtPsNm87qMBAzpGHZo2HOC\nd4hAyTCT1Guwg4z/wT2brG5oUjyqI05LHwitvEt1xIl1LYjEGxgTJyzInaeZWIZdRI6JyCUR+b6I\nfENEqkktjNzCJubojzUG3WyTO8bx6M4NPd3QHHSdb67NN3FjYQmP7tyAGwtLuDbfjCXwphS0w9eD\natK9U47iVGVx52kmrsf+HQCfV0rdBeCPATwVf0nET5hXU604XYnb3ZvHugy392Z7dnIrju/fbtF5\n2vn6R+5ZH2ntJHs0mot4+Z0PEkug64av6woJdGEXk5tQcUrt81UrTleClknTYGIZdqXUW0opd27a\nWQCfjb8k4idsy3ljoVOdcXqmhpPnax2emK4b0J1rajPT1L1Zn53cGmXpZMA8ZjnnNskuYluvW+eg\nmFbRaC7h+o0FHN+/HbOH78OxL2+jcmMEkqyK+UcATiR4PrJM2CQjf/ed6QYydQMe2bcFB79+oUM7\n24t/OMI4Jytllok71uGls1dCwytlQ2246ffuUJZ5g8SzV5bC1OofNSZebzQ7zkNDbk+oxy4ivysi\nP9D89yXPMU8DWADwUsB5HheRcyJy7urV4HZj0onN1HfvTRNV7mByxziOPbxNq7Ou2/Iy+Zpdnnzl\nQqhRLwF45J712rj4176yDe9N7cXzy2E610M+9vA2/IsH7zJ+7/4GJtfZsEn6B5GneQpZQlTMLZmI\n/EMA/zOAX1FKzdu8ZmJiQp07dy7W+w4bYRIAXq/alJSyGUvmrSleuzxdqT7f7NLyeGb6opVnSLJJ\nteLg/m234cylqx3f9bX5ZttrH9fot9hKVthSccpY7ZQCSxwFwLtTexN937wiIueVUhNhx8Wtivki\ngN8EsM/WqJPecOPhz+/fHlqBEEe+2H2f4/u3d1RN1OoNHDgxix2/9RamZ2rt5CurZPJJvdHEyfM1\nHNyzqeO7BrrVE70dpFGS7SbKIh2x8sMPbAnckbL6JTpxY+y/A2AVgO9I6wY/q5T6x7FXRYzYqOJF\nUc4zac6YKnG8HayTO8bxxInZfnxMYsGIUzLGvG3whjls1RN1GklOSQDpDseYWFJK64EffWOuy3Nn\n9UtvxDLsSqn/IamFEHtsEkk2xwQN/w5KdDWaizj6xhwmd4yHJnZJ/4hj1F1sEpreY9xrymuE16xa\n0RHW6WWyknu9Jj2VbFihVswQE6Q5E2awr803MT1Tsx72QbKJa2SDvmudIfYOQHfDOm4JYlDjUZgH\nzuqXZKCkwBATJjugU4n04m7Rn3twq7aihqTXqeuUJLRyyTWyQVVXOkMc5BAA5iouXSMd6Q/02AuC\naQsbtLUNGhYyuWNcG/P04n0wjKxcYS3eNCwIgK99ZVsqO5pFpUJDIn4j61ZdBVXFAHYidO75GFJJ\nBxr2AmCKlZ97/yOcPF/TxtAnd4yHDguphxjq26uV0KEda1aWcXNhydj8VGRKIjjy+lzPRn28WsHu\nzWM4c+lql8HdvXms47v1E/bnHl9+eLtECYHYTA9jSCVdaNgLgGlr/PI7H3R1EXqrHMI8q6A4u1MS\nHNyzyVg9462Z9+8art9YMMrAFolFpXr6nBWnbBWymLhjHQ70UJUUt9Ik7elhJBwa9gJg2hqb9ED8\nVQ6uAXEN8BMnZnF7iFe4pDmXzXu478OEaydlESwpFSls4ZalRqlKKovEjnMz1JJ9aNgLgMmzNul+\n6KocdOGck+dreOjucfzf71zp2tovLikcfWMu8lBv9+HRaC52hBY2/nwFZ390LVFxqn4zvjztJ4nc\ngqm2O6z8T+c9m6ZAOSXB/i+s73h492qQkwq1sLyxP7AqpgCYOk1NeiC6LbMpnHPm0lVjvPbafNO6\ny3V6pobtR9/CgROz7QfBolKoOGXs3jyG7135OHdG/e1D92LvXbclcr6gh61utq2Lf/bu6IijrcQZ\ncUrY/4X1OHm+Fni+QWLz+Uhv0GMvAEFb44k71ll5RKaQStg232ZbHhR6MeUCBoGNTonpde6Dy6SY\nGZWNP99t2IPKCk2Jz11Tp7WfZ3TNKpy5dNXqfP3E66GXNDvKQa+nqNCwFwTT1th2yxw1nAPASscd\nCB8UEteoi7Qm+UTBjTUDiBTvL4t01GwnNZ7tD/70I0zP1KxkboPeM8nXJI3/AW+TAyK9wVAMAWAO\n5wQZ3SP7tlhtp8Nu1DhNPAKYpzUE4H4uN5RhswanLF0CWWstH25hKAAHTsxi19Tp9t/OlKdQQMdx\nXoJGIsaZTZoEtvNNKfoVHxp2AqA7Vusq75nU/EZHHKNYmNejnZ6pBepwm3IBtlRHHKMhGA0Z1Ow+\ngCZ3jIeO/BPoNcdFoH0gPh9x7KCL98EY1BFaqzfwxIlZbFyeHeoa+aCcR9C/+WeR9iPObeOJ97ts\nchCfMwswFEPamMI2uprlww9sAWCOwX9Yb7S9eZPXPzri4PADW7S5ALcxx/352vUbWtErpcx11Ycf\n2IJz739k1I33xnODYuVOSYwNVvX5Jo7v327MMfRS1umuy+0DMJU0uivyNp4BwGqn1H7PasXBkX1b\nujpMvWv1r9M0ASkuQeG+qKWevRAkele0mH7sQRu9wEEb+SJIruCJE7Nao+l6q6Yb+Wtf2RbpZrrz\n0Jva93GHMOjWCJiNov8cQXfB6IhjTLAGDS+ZnqnhyOtz7SYlNxdgI7frHy5h+vxeqhUHNxaWjA8S\n74PUS5zBLFHQJdFtm7GSYFCfs5/YDtqgx05CMXnyx05dNhrbg3s2GbXal5QKvJF1Rtrk7bkx7jhN\nUEEGc7xaCQwhXL+xgDsPvdnlberef/WKW0YsbCKWP7xkI48c1uV6bb6Jg69eAGA3izTpJGbajU2D\n+pxZgDH2ISdOzNF0QyigrdWuIyg5ZkrG7t48plWbvH5zQbtm20RdEG68N2i99UZTmzQOyz3YTMTy\nfjfXbyzAKcdXimwuqq4Zor0kaXvF/dzvTu3tGOU4iJh32snjQULDPsTEbRAx3RBuGKaXEX1BjVKf\nWt29wdQZKiCeF+ZNHk/uGMfuzWNWr7Mpg/T+3t+FC8/7Auj4buqNJqDQlkf2m/iKU7aWTvavLSxJ\n26+moUE3KMUZGZk3aNiHmDCvMoywG8VUaRO09Q4yiCa1Sd1rwrwwk+87Xq20vUl3nVGakNy1hHnB\nz0xfbBs14FYXbtBowuaSwsjKFXhvai+OL1fdRJkd6uJfm/d70hHlmohC3OsvKr1cj3mFMfYhJm7M\n0Xb+apQbxxRL1nUpel/jR1cp4yZJTbK3Ju8tivd/u2e3Yorx1+oNbaWOt0onrBM46O8aFLt3yqL9\njO75TEnafsSh04h5D4ucMA37EBNVwEtH0jeKySCajLorH6wjrOzPVm7B9HfyV9P4dytAeKmiH6/H\nb3pPf4eqF79ap7cqx1QV4yWJa8KWQb7XsEHDPsRkUVfbvwsI8tQBdMVUpmdq2slPNxa6ywttH0qm\nv9NDd4931Nqbdis2pYouXo9fV0qqcGskYRi9PHQHeU1k8forCjTsQ0za5WdB63LXcOehNwOPdZOn\nbglhkNhYr+JScf9OvXr8piEa/Q5VAIO5JrJ6/RUBGvYhZ1Axx151t9dWnND6bNdohpU4xjGIcf5O\npvDSyMoynHIJHzea2r/JeEqhikHGoYcl5j1oaNhJ34nSyu19AKytOPiLGwuh53fjzmGG228Qwx42\nvTyMgl7jjXcDwPWbi6g4wPH927XnZaiC9AolBUjfsW3ljjMyL0jCAOhuXX9m+qK2MsVNMAJ6jZyg\n8riwlvleWto5YYh4oaQAyQy2ZW1xukU/rDdwfP927YOhWnFw/7bb2iPhqgHaL9fmm3jqtYsdFTUu\nYXH6sMEYvZT3MVRBeoGGnfQd27K2ODHw26sVYzIO6PS+wyYmNZqLxgdMnCEXLO8jg4KGnfQd21ix\njdAV0D2s2V9NolMvjKsb411j0L8FGe6kYuZBSpYM2RAgpqSAiPy2iHxfRGZF5C0RuT2phZHiYNvK\nrZMo0Oh+oSzSHqIRR6YgiGrFiawr0g+JBT86fZWDX7+Ag69e4FBo0iZW8lREPq2U+vPl//9fAHxO\nKfWPw17H5Ckx4fdGr99Y0JY7RtHQNiUtTbgJTyC6F9xvbzrKZ8mTzjixYyDJU9eoL7MGPU2fJOQW\n/lCKqUEpiheuC4E4ZcGalSvwcaOJtRUHIq1pSH7DG9UAh+nCx53aE+VzF1FnnNgRO8YuIv8cwD8A\n8DGA3bFXRIiHpPRsgHRi0KZKmSOvz/W0Hts8hHssGU5CDbuI/C6Av6L5p6eVUt9USj0N4GkReQrA\nrwM4bDjP4wAeB4ANGzb0vmIyVCSVcEyrbNDkNdcbzXaIKYoXr919lASQzmHbAljryJPiEZo8VUr9\nqlLq85r/vuk79CUADwWc5wWl1IRSamJsjBccsSPvGtq2XrOtDrnu73Hs4W3Y/9fWd+ihKQAnz9eY\nQB1SYoViROQXlVL/dfnHLwG4FH9JhHSS5yadIF12P1F08P1/D9382TjCZyTfxI2xT4nIJgBLAN4H\nEFoRQ0iWSbqFXxffn7+5oG2SihMTH6ZBzSScuFUxxtALIXkj6QoWl7BKGSC+uBe7WokXzjwlZJlB\nzeDsR95gmAY1k3AoKUBSI6mwR1LnGWQ4I+m8AYdWEC807CRxbAxtUmGPJMMneQ9n5DnJTJKFoRiS\nKDotE51uSVJhjyTDJwxnkKJAw04SxdbQJhX2SDJ8kveaeUJcGIohiWJraJMKeyQdPmE4gxQBeuwk\nUUwG1f/7pMIeDJ8Q0g0NO0kUW0ObVNiD4RNCuuEwa5I4HMBMSH/gMGuSGoxTpwsfrISGnZAC0S9Z\nBJIvGGMnpEAMShaBZBsadkIKBFUeCcBQDEmRIsaC0/5MeZdFIMlAj52kgq30QJ7IwmdiXT8BaNhJ\nShQxFpyFz8S6fgIwFENSooix4Kx8JpabEnrsJBVspQfyRBE/E8knNOwkFYoYCy7iZyL5hKEYkgpF\nnPhTxM9E8gm1YgghJCfYasUwFEMIIQWDhp0QQgoGDTshhBQMJk9JIUi7lZ+QLEHDTnIPpWoJ6YSh\nGJJ7stDKT0iWoGEnuScrrfyEZAUadpJ72MpPSCeJGHYReVJElIh8JonzERIFtvIT0kns5KmIrAdw\nH4Ar8ZdDSHTYyk9IJ0lUxRwH8JsAvpnAuQjpCUrVEnKLWKEYEfkSgJpS6kJC6yGEEBKTUI9dRH4X\nwF/R/NPTAP4ZWmGYUETkcQCPA8CGDRsiLJEQQkgUelZ3FJGtAP4fAPPLv/osgA8BfEEp9f8FvZbq\njoQQEh1bdceeY+xKqYsA/pLnDd8DMKGU+m+9npMQQkh8WMdOCCEFIzGtGKXUxqTORQghpHfosRNC\nSMGgYSeEkIJBw04IIQWDhp0QQgpGz3Xssd5U5CqA9/t0+s8AyGLJZRbXlcU1AdlcVxbXBGRzXVyT\nPVHXdYdSaizsoFQMez8RkXM2BfyDJovryuKagGyuK4trArK5Lq7Jnn6ti6EYQggpGDTshBBSMIpo\n2GH1SToAAAOwSURBVF9IewEGsriuLK4JyOa6srgmIJvr4prs6cu6ChdjJ4SQYaeIHjshhAw1hTbs\nWZvFKiK/LSLfF5FZEXlLRG7PwJqOicil5XV9Q0SqGVjTwyIyJyJLIpJ6JYOIfFFELovIn4jIobTX\nAwAi8m9F5Kci8oO01+IiIutF5IyI/NHy9/cbGVjTahH5QxG5sLymo2mvyUVEyiIyIyLfSvrchTXs\nGZ3FekwpdZdSajuAbwH4atoLAvAdAJ9XSt0F4I8BPJXyegDgBwAeBPD7aS9ERMoA/hWAXwPwOQCP\niMjn0l0VAODfAfhi2ovwsQDgSaXU5wDsBPBPMvC3ugHgXqXUNgDbAXxRRHamvCaX3wDww36cuLCG\nHbdmsWYmiaCU+nPPj2uQgbUppd5SSi0s/3gWrYEpqaKU+qFS6nLa61jmCwD+RCn1I6XUTQD/EcCX\nUl4TlFK/D+CjtNfhRSn1E6XU95b//y/QMlqpDqJVLX62/KOz/F/q952IfBbAXgD/uh/nL6Rhz/Is\nVhH55yLyAYBHkQ2P3cs/AvCf0l5ExhgH8IHn5x8jZWOVB0RkI4AdAN5JdyXtkMcsgJ8C+I5SKvU1\nAXgeLcdzqR8nT0yPfdAkNYs1aYLWpZT6plLqaQBPi8hTAH4dwOG017R8zNNobaVf6vd6bNdE8omI\nfArASQAHfLvUVFBKLQLYvpw/+oaIfF4plVpuQkTuB/BTpdR5EfnlfrxHbg27UupXdb9fnsV6J4AL\nIgK0QgvfE5HQWaz9XJeGlwB8GwMw7GFrEpF/COB+AL+iBlT/GuHvlDY1AOs9P392+XdEg4g4aBn1\nl5RSr6W9Hi9KqbqInEErN5Fm0nkXgH0i8rcBrAbwaRF5USn1WFJvULhQjFLqolLqLymlNi5Pdfox\ngF8ahFEPQ0R+0fPjlwBcSmstLiLyRbS2hPuUUvNhxw8h3wXwiyJyp4isBPB3Abye8poyibQ8qX8D\n4IdKqf8t7fUAgIiMuZVeIlIB8LeQ8n2nlHpKKfXZZfv0dwGcTtKoAwU07BlnSkR+ICLfRytUlHo5\nGIDfAfBzAL6zXIb5f6a9IBH5OyLyYwB/HcCbInIqrbUsJ5Z/HcAptJKBryil5tJaj4uIvAzgvwDY\nJCI/FpH/Ke01oeWJ/n0A9y5fS7PLXmma3AbgzPI99120YuyJlxdmDXaeEkJIwaDHTgghBYOGnRBC\nCgYNOyGEFAwadkIIKRg07IQQUjBo2AkhpGDQsBNCSMGgYSeEkILx3wEaUHrVZ4uD6QAAAABJRU5E\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f22a410>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate data\n",
    "num_data = 10000\n",
    "dimensions = 2\n",
    "data = np.random.randn(num_data,dimensions)\n",
    "\n",
    "# Plot the data\n",
    "plt.figure(figsize=(6, 6))\n",
    "plt.scatter(data[:,0], data[:,1])\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Just as a quick sanity check, we can make sure that the mean and covariance of the data we just generated is what we expect:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-0.0123484576753\n",
      "-0.0148022033307\n",
      "[[ 0.99082741  0.00706382]\n",
      " [ 0.00706382  0.99911906]]\n"
     ]
    }
   ],
   "source": [
    "print np.mean(data[:,0])\n",
    "print np.mean(data[:,1])\n",
    "print np.cov(data.T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Great! These numbers are roughly what we would expect, given that the population mean is `0` and the population covariance is the `2x2` identity matrix. You can try increasing `num_data` and verify that the empirical mean and covariance get closer to the population values.\n",
    "\n",
    "Now, let's use the function `np.random.randn` to generate data from non-standard Gaussians.\n",
    "\n",
    "Let's suppose that $Z \\sim \\mathcal{N}\\left(0, I_n\\right)$ is a standard Gaussian, and we'll define a new variable $X$ as:\n",
    "\n",
    "$$ X = \\Sigma^{1/2} Z + \\mu $$\n",
    "\n",
    "where $\\Sigma$ is a _symmetric_ $n\\times n$ matrix and $\\mu$ is a vector of size $n$.\n",
    "\n",
    "By closure of Gaussians under linear operations, $X$ is still Gaussian and its distribution is therefore determined by its mean and covariance, which we can simply calculate.\n",
    "\n",
    "$$ \n",
    "\\begin{align}\n",
    "\\mathbb{E}[X] &= \\Sigma^{1/2}\\mathbb{E}[Z] + \\mu \\\\\n",
    "              &= \\mu \\\\\n",
    "\\mathbb{C}[X] &= \\mathbb{E}[XX^\\intercal] - \\mathbb{E}[X]\\mathbb{E}[X]^{\\intercal} \\\\\n",
    "              &= \\Sigma^{1/2}\\mathbb{E}[ZZ^\\intercal]\\Sigma^{1/2} + \\mu \\mu^\\intercal - \\mu \\mu^\\intercal\\\\\n",
    "              &= \\Sigma\n",
    "\\end{align}\n",
    "$$\n",
    "\n",
    "Therefore, $X \\sim \\mathcal{N}\\left(\\mu, \\Sigma\\right)$. Using this fact we can write a function to generate samples from arbitrary Gaussians.\n",
    "\n",
    "Note that because we store our data in a matrix where each _row_ corresponds to a single observation, we multiply by the square root of the covariance matrix on the right rather than the left in the function below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def sample_gaussian(mean, covariance, n_data, dimensions=2):\n",
    "    assert mean.shape == (dimensions,)\n",
    "    assert covariance.shape == (dimensions, dimensions)\n",
    "    sqrt_cov = scipy.linalg.sqrtm(covariance)\n",
    "    data = np.random.randn(n_data, dimensions)\n",
    "    return np.dot(data, sqrt_cov) + mean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x106d5f2d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mean1 = np.array([3,1])\n",
    "cov1 = np.array([[3,1],[1,2]])\n",
    "data1 = sample_gaussian(mean1, cov1, 1000)\n",
    "\n",
    "plt.figure(figsize=(6, 6))\n",
    "plt.scatter(data1[:,0], data1[:,1])\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Again as a sanity check we can calculate the empirical mean and covariances of the data we just generated to see that they match what we expect."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.07562386296\n",
      "1.02746883564\n",
      "[[ 2.92964863  0.94634928]\n",
      " [ 0.94634928  1.9995487 ]]\n"
     ]
    }
   ],
   "source": [
    "print np.mean(data1[:,0])\n",
    "print np.mean(data1[:,1])\n",
    "print np.cov(data1.T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's generate a few different clusters and plot them together."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f215dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mean1 = np.array([3,1])\n",
    "cov1 = np.array([[3,1],[1,2]])\n",
    "data1 = sample_gaussian(mean1, cov1, 1000)\n",
    "\n",
    "mean2 = np.array([7,-2])\n",
    "cov2 = np.array([[1,1],[1,5]])\n",
    "data2 = sample_gaussian(mean2, cov2, 1000)\n",
    "\n",
    "mean3 = np.array([-1,-4])\n",
    "cov3 = np.array([[3,-1],[-1,3]])\n",
    "data3 = sample_gaussian(mean3, cov3, 1000)\n",
    "\n",
    "\n",
    "\n",
    "plt.figure(figsize=(6, 6))\n",
    "plt.scatter(data1[:,0], data1[:,1])\n",
    "plt.scatter(data2[:,0], data2[:,1])\n",
    "plt.scatter(data3[:,0], data3[:,1])\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# K-means \n",
    "Now that we have some data generated, let's do some clustering. We're going to implement one of the most basic clustering algorithms: K-means.\n",
    "\n",
    "The basic idea here is that we are going to start with an initial seed of $K$ points in the data-space. These are the centres of $K$ distinct clusters. We then iterate, first assigning each datum to the cluster whose centre is nearest to it, and then updating the $K$ points by setting each to be the average of all of the data assigned to it.\n",
    "\n",
    "More formally, we start with $K$ points $m_1, \\ldots, m_K$ and some data $x_1,\\ldots, x_N$. Then, we iteratively apply each of the following steps:\n",
    "\n",
    "$1)$ Find, for each $k$, $S_k= \\lbrace x_n : d(x_n,m_k) \\leq d(x_n, m_i) \\: \\forall i \\rbrace$\n",
    "\n",
    "$2)$ Update the cluster centres: $m_k = \\frac{1}{|S_k|} \\sum_{x_n \\in S_k} x_n$\n",
    "\n",
    "We apply these steps until convergence occurs. We could define this, for instance, as occurring when cluster assignments do not change.\n",
    "\n",
    "We'll write two functions, one for each of the steps above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def update_cluster_assignments(data, m):\n",
    "    # returns a dictionary mapping index i to numpy array of data that are nearest to m[i]\n",
    "    clusters = {}\n",
    "    for i in range(len(m)):\n",
    "        clusters[i] = []\n",
    "    for x in data:\n",
    "        # find index i of nearest m[i] and append it to cluster\n",
    "        clusters[np.sum((m-x)**2, 1).argmin()].append(x)\n",
    "    for i in range(len(m)):\n",
    "        clusters[i] = np.array(clusters[i])\n",
    "    return clusters\n",
    "        \n",
    "def update_cluster_means(clusters):\n",
    "    # returns the updated cluster means\n",
    "    n_clusters = len(clusters)\n",
    "    dimension = len(clusters[0][0])\n",
    "    m = np.zeros([n_clusters, dimension])\n",
    "    for i in clusters:\n",
    "        # calculate the mean of points assigned to cluster i\n",
    "        m[i] = np.mean(clusters[i], 0)\n",
    "    return m\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's try out the functions that we've written on the data we generated earlier. We'll concatenate all our data together into one big matrix, try some initial seeds for the centres and find the corresponding clusters. We can visualise this by slightly modifying the code to plot from before (we'll put it in a function as we'll use it again later)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f22a250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = np.concatenate([data1, data2, data3])\n",
    "m = np.array([[0,0],[10,10],[2,0.5],[-5,-5]])\n",
    "clusters = update_cluster_assignments(data, m)\n",
    "\n",
    "\n",
    "def plotter(clusters):\n",
    "    # Plot data, colored by cluster\n",
    "    plt.figure(figsize=(6, 6))\n",
    "    for i in range(len(clusters)):\n",
    "        plt.scatter(clusters[i][:,0], clusters[i][:,1])\n",
    "    plt.axis('equal')\n",
    "    plt.show()\n",
    "    \n",
    "plotter(clusters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's update the mean once and the update the clusters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nzCzlf2W/HNpsr9uNAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1126d8a50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "m = update_cluster_means(clusters)\n",
    "clusters = update_cluster_assignments(data, m)\n",
    "plotter(clusters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The clusters changed! Great. $k$-means works by repeatedly performing the two update functions we just called, so let's write a wrapper function to do this, terminating when the cluster centers have stopped changing. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def kmeans(data, k, eps=None):\n",
    "    # If initial cluster centres are not provided, randomly select k data points to be the centres\n",
    "    m = data[np.random.choice(range(len(data)), k, replace=False)]\n",
    "    m_old = m\n",
    "    clusters = update_cluster_assignments(data, m)\n",
    "    m = update_cluster_means(clusters)\n",
    "    \n",
    "    # Stop once the cluster centres stop changing\n",
    "    while (m_old != m).any():\n",
    "        m_old = m\n",
    "        clusters = update_cluster_assignments(data, m)\n",
    "        m = update_cluster_means(clusters)\n",
    "        \n",
    "    return clusters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112f962d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112e4b3d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1130f4f90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plotter(kmeans(data, 3))\n",
    "plotter(kmeans(data, 5))\n",
    "plotter(kmeans(data, 7))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Trying this out on some real data\n",
    "We'll run our freshly written $k$-means algorithm on the Iris dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "iris = sklearn.datasets.load_iris()\n",
    "iris_data = iris.data\n",
    "iris_clusters = kmeans(iris_data,3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the iris dataset is 4-dimensional, we can't visualise all of it at once. We can compare each of the 6 pairs of dimensions separately:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x113207f50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "number_of_subplots=6\n",
    "v=0\n",
    "plt.figure(figsize=(12, 22))\n",
    "plt.axis(\"equal\")\n",
    "for j in range(3):\n",
    "    for k in range(j+1, 4):\n",
    "        v += 1\n",
    "\n",
    "        ax1 = pylab.subplot(number_of_subplots,3,v)\n",
    "        for i in range(len(iris_clusters)):\n",
    "            ax1.scatter(iris_clusters[i][:,j], iris_clusters[i][:,k])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Principal Component Analysis (PCA)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plotting each pair of dimensions separately is not very satisfying, as it's hard to piece together what each plot shows separately into a single explanation. We can use Principal Component Analysis (PCA) to instead find the most informative 2D subspace to project our data onto before visualising. \n",
    "\n",
    "PCA is a useful pre-processing algorithm that projects data to a lower dimensional subspace while maintaining the maximum variance within the data. We'll apply this here, projecting the 4-dimensional Iris dataset to a 2-dimensional space so that we can see our clusters better.\n",
    "\n",
    "Before applying PCA, we have to standardise our data, since different measurement units in different dimensions can mess things up."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "iris_data_std = iris_data.copy()\n",
    "for i in range(len(iris_data[0])):\n",
    "    iris_data_std[:,i] = (iris_data_std[:,i] - iris_data[:,i].mean()) / iris_data[:,i].std()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, we calculate the directions of maximal variance within the data by finding the eigenvectors of the covariance matrix. We'll then stack the two eigenvectors corresponding to the largest eigenvalues, giving us a matrix that will project our 4D data onto the 2D subspace with largest variance.\n",
    "\n",
    "The next plot shows the data in the projected space coloured by the true class label."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQM4Q2AEgZ/4/JNiPyALZ3UoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1133a5790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Calculate eigenvalues\n",
    "eig_vals, eig_vecs = np.linalg.eig(np.cov(iris_data_std.T))\n",
    "\n",
    "# Project data onto lower dimensional subspace\n",
    "proj_matrix = eig_vecs[:,0:2]\n",
    "proj_data = iris_data_std.dot(proj_matrix)\n",
    "\n",
    "# Plot all data coloured by class label\n",
    "plt.figure(figsize=(6, 6))\n",
    "for col in range(3):\n",
    "    plt.scatter(proj_data[:,0][iris.target==col], proj_data[:,1][iris.target==col])\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's take the clusters we found using $k$-means, project each of them to the 2D subspace, and plot."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nuQ4sJTO7SdKLkv7aOXdd3uNphpmtkrTKOXfYzF4t6ZCkzSX8/8IkLXPOvWhm3ZK+K2nYOfdYzkML\nVZgZez2oz1kmqRifOCk55w46587PffmYpDV5jqcZzrmnnHPH8x5Hk26Q9Ixz7oRz7pykv5d0W85j\nSs0594ikF/IeRyucc6ecc4fn/v5rSU9J6st3VOm5mhfnvuye+6fQ8akwgV2SzOyTZvacpPdJujPv\n8WTgA5K+kfcgKqZP0nPzvj6pEgYT35jZ1ZLWS/p+viNpjpl1mdnjkn4u6ZvOuUK/j44GdjP7lpk9\nGfDPbZLknLvDOXeVpPslfbiTY0sj7n3M3XOHpPOqvZfCSfIegCyY2askfUnSRxt+My8N59ysc+5N\nqv0GfoOZFTo9dnknX8w597aEt94v6euSPt7G4TQt7n2Y2fslvVPSza4oixgNUvx/UTbjkq6a9/Wa\nuWvIwVxO+kuS7nfO7ct7PK1yzk2Y2cOSbpFU2IXtwqRizOz18768TdLTeY2lFWZ2i6Q/lfQu59xL\neY+ngn4o6fVmdo2ZLZH0HklfyXlMlTS36Pg5SU855z6d93iaZWYr6tVtZtaj2sJ8oeNTkapiviRp\nnWrVGM9K+pBzrnQzLTN7RtIrJP2/uUuPla26x8x+T9J/l7RC0oSkx51zm/IdVXJm9m8k/TdJXZI+\n75z7ZM5DSs3M/k7Sv1ato+D/lfRx59znch1USmb2LyV9R9Ix1f67lqQ/c859Pb9RpWdm/ZLuU+3f\np8sk7XXO3ZXvqKIVJrADALJRmFQMACAbBHYA8AyBHQA8Q2AHAM8Q2AHAMwR2APAMgR0APENgBwDP\n/H+ib+PIxABtWwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112dd29d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot data, colored by cluster\n",
    "plt.figure(figsize=(6, 6))\n",
    "for i in range(len(iris_clusters)):\n",
    "    cluster_data = iris_clusters[i].copy()\n",
    "    # we have to apply the same standardisation transformation as we did to the original data before doing PCA\n",
    "    for j in range(len(cluster_data[0])):\n",
    "        cluster_data[:,j] = (cluster_data[:,j] - iris_data[:,j].mean()) / iris_data[:,j].std()\n",
    "    proj_cluster = cluster_data.dot(proj_matrix)\n",
    "    plt.scatter(proj_cluster[:, 0], proj_cluster[:, 1])\n",
    "plt.axis('equal')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, we do a fairly good job at separating the data into the correct classes!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Gaussian Mixture Model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now work towards building up to a probabilistic generalisation of $k$-means known as a _Gaussian Mixture Model_. $k$-means is great for its simplicity, but it suffers from (at least) the following two problems:\n",
    "\n",
    "1) Each datum is given a \"hard\" assignment to a cluster. If for example a datum straddles the boundary of two clusers, we might in fact want to express an uncertain belief of which cluster the datum belongs to.\n",
    "\n",
    "2) The only thing that is important in determining which cluster a datum belongs to is which centre it is nearest to. The shape of the cluster is not taken into account at all, leading to somewhat strage clusterings such as the one below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11268f890>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mean1 = np.array([0,0])\n",
    "cov1 = np.array([[1,0],[0,1]])\n",
    "data1 = sample_gaussian(mean1, cov1, 100)\n",
    "\n",
    "mean2 = np.array([0,10])\n",
    "cov2 = np.array([[1,0],[0,1]])\n",
    "data2 = sample_gaussian(mean2, cov2, 100)\n",
    "\n",
    "mean3 = np.array([10,5])\n",
    "cov3 = np.array([[1,0],[0,50]])\n",
    "data3 = sample_gaussian(mean3, cov3, 100)\n",
    "\n",
    "clusters = kmeans(np.concatenate([data1, data2, data3]), 3)\n",
    "plotter(clusters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the case above, we'd really want to have three clusters - the two circles on the left, and the long sausage on the right. However, because the sausage is very long, the points near the ends will be closer to the circles than the sausage centre. The Gaussian Mixture Model will come to our rescue."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The generative model\n",
    "\n",
    "In a Gaussian Mixture Model (henceforth GMM) we assume that there are $K$ distinct classes, each of which follow different Gaussian distributions with parameters $\\mu_k$ and $\\Sigma_k$. We assume a prior discrete distribution $Dis(\\pi)$ with parameter $\\pi$ over the class $s$ for each datum.\n",
    "\n",
    "$$ \n",
    "\\begin{align*}\n",
    "s_i & \\sim Dis(\\pi) \\\\\n",
    "X_i & \\sim \\mathcal{N}\\left( \\mu_{s_i}, \\Sigma_{s_i}\\right)\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "Here's some code that can generate data from this model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def sample_GMM(mu, sigma, pi, num_data):\n",
    "    # mu, sigma and pi are lists of length k\n",
    "    assert len(mu) == len(sigma)\n",
    "    assert len(mu) == len(pi)\n",
    "    \n",
    "    K = len(mu)\n",
    "    D = len(mu[0])\n",
    "    X = np.zeros([num_data, D])\n",
    "    \n",
    "    # random sample from multinomial distribution to see how many samples we should generate for each class\n",
    "    class_nums = np.random.multinomial(num_data, pi)\n",
    "    for k in range(K):\n",
    "        # Fill in X in order of classes.... we do this so that we only have to call sample_gaussian K times\n",
    "        lower = sum(class_nums[0:k])\n",
    "        upper = sum(class_nums[0:k+1])\n",
    "        X[lower:upper,:] = \\\n",
    "                   sample_gaussian(covariance=sigma[k], mean=mu[k], n_data=class_nums[k])\n",
    "    \n",
    "    # Shuffle rows of X so that classes are not in order\n",
    "    np.random.shuffle(X)\n",
    "    return X\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n/wPt5VJ8gmIKugAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x106d3b350>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mu = [np.array([-20,-20]), np.array([10,10]), np.array([-10,10])]\n",
    "sigma = [np.array([[10,0],[0,10]]), np.array([[10,0],[0,1]]), np.array([[1,0],[0,10]])]\n",
    "pi = [0.7, 0.2, 0.1]\n",
    "\n",
    "X = sample_GMM(mu, sigma, pi, 1000)\n",
    "\n",
    "plt.scatter(X[:,0], X[:,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Given any observation $X_i$ and values for the parameters $\\pi, \\mu_k, \\Sigma_k$ for all $k$, we can calculate the posterior probability that $X_i$ belongs to class $k$ using Bayes' rule:\n",
    "\n",
    "$$ \n",
    "\\begin{align*}\n",
    "P(s_i = k | X_i) &= \\frac{P(X_i | s_i = k) P(s_i = k)}{P(X_i)} \\\\\n",
    "                 &\\propto \\mathcal{N}\\left(X_i | \\mu_k, \\Sigma_k \\right) \\pi_k\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "\n",
    "How should we choose the values for the parameters $\\pi, \\mu_k$ and $\\Sigma_k$? We'll optimise the margingal likelihood (the probability of the data given the parameters). To make the maths a bit simpler, we'll actually consider the marginal log-likelihood. This has the advantage of products into sums (making things more numerically stable when we would otherwise have the product of lots of small probabilities), and since $log$ is a monotonically increasing function, maximising the marginal log-likelihood will give the same parameters as maximising the marginal likelihood.\n",
    "\n",
    "$$ \n",
    "\\begin{align*}\n",
    "\\log P(X |\\pi, \\mu, \\Sigma) &=  \\sum_{i=1}^{N} \\log P(X_i |\\pi, \\mu, \\Sigma) \\\\ \n",
    "                           &=  \\sum_{i=1}^{N} \\log \\left( \\sum_k P(X_i |\\mu_k, \\Sigma_k) P(s_i = k)  \\right) \\\\\n",
    "                           &=  \\sum_{i=1}^{N} \\log \\left( \\sum_k \\mathcal{N}(X_i |\\mu_k, \\Sigma_k) \\pi_k  \\right)\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "Unfortunately, this would be difficult to directly optimise. Instead, we can use the **EM algorithm**  to optimise a lower bound on this. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The EM algorithm\n",
    "\n",
    "We'll breifly explain the EM algorithm here. For models with latent varibles such as the above GMM, it can be difficult to optimise the marginal log-likelihood with respect to the parameters. However, if we knew the latent variables for each observation, this would be easy. Similarly, if we knew the parameters, then finding the latent variables for each observations would be easy. EM works by iteratively performing these two updates, optimising a lower bound on the log-likelihood called the _Free Energy_. The Free Energy is a function of the parameters $\\theta$ of the model and an approximating distribution $Q(Y)$ for the posteriors over the latents:\n",
    "\n",
    "$$\n",
    "\\begin{align*}\n",
    "\\log P(X | \\theta) &= \\log \\int P(X, Y | \\theta) dY \\\\\n",
    "                   &= \\log \\int  \\frac{P(X, Y| \\theta)}{ Q(Y)} Q(Y) dY \\\\\n",
    "                   &\\geq \\int  \\log \\left(\\frac{P(X, Y| \\theta)}{ Q(Y)}\\right) Q(Y) dY =: F(Q,\\theta)\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "In an __Expectation__ step, we maximise $F$ with respect to $Q$, keeping $\\theta$ fixed. Noting that\n",
    "\n",
    "$$\n",
    "\\begin{align*}\n",
    "F(Q,\\theta) &= \\int  \\log \\left(\\frac{P(X, Y| \\theta)}{ Q(Y)}\\right) Q(Y) dY \\\\\n",
    "            &= \\int  \\log \\left( \\frac{P(Y|X, \\theta) P(X|\\theta)}{Q(Y)} \\right) Q(Y) dY \\\\\n",
    "            &= \\log P(X|\\theta) + \\int  \\log \\left( \\frac{P(Y|X, \\theta)}{Q(Y)} \\right) Q(Y) dY \\\\\n",
    "            &= \\log P(X|\\theta) - KL\\left[Q(Y) || P(Y|X, \\theta) \\right]\\\\\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "Since KL divergences are always greater than zero, maximising $F$ with respect to $Q$ reduces to minimising the KL on the right hand side. This term equals zero if and only if $Q(Y)$ is set to be the posteriors of the latents given the current parameters.\n",
    "\n",
    "In a __Maximisation__ step, we maximise $F$ with respect to $\\theta$, keeping $Q$ fixed. Noting that \n",
    "\n",
    "\n",
    "$$\n",
    "\\begin{align*}\n",
    "F(Q,\\theta) &= \\int  \\log \\left(\\frac{P(X, Y| \\theta)}{ Q(Y)}\\right) Q(Y) dY \\\\\n",
    "            &= \\int  \\log \\left( P(X, Y| \\theta) \\right) Q(Y) dY - \\int  \\log \\left(Q(Y)\\right) Q(Y) dY \\\\\n",
    "            &= \\mathbb{E}_{Y\\sim Q} \\left[\\log P(X, Y| \\theta)\\right]  + H[Q]\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "\n",
    "where $H[Q]$ is the _entropy_ of $Q$, we see maximising $F$ with respect to $\\theta$ reduces to maximising $\\mathbb{E}_{Y\\sim Q} \\left[\\log P(X, Y| \\theta)\\right]$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## EM for GMM\n",
    "\n",
    "It's relatively straightforward to derive the E and M updates for the Gaussian Mixture Model.\n",
    "\n",
    "__E-step__:\n",
    "\n",
    "For the $i$th datum $X_i$, the posterior probability it belongs to class $k$ is \n",
    "\n",
    "\n",
    "$$ \n",
    "\\begin{align*}\n",
    "P(s_i = k | X_i) &= \\frac{P(X_i | s_i = k) P(s_i = k)}{P(X_i)} \\\\\n",
    "                 &\\propto \\mathcal{N}\\left(X_i | \\mu_k, \\Sigma_k \\right) \\pi_k\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "We'll write $r_{ik} = P(s_i = k | X_i)$ for shorthand (r stands for _responsibility)\n",
    "\n",
    "__M-step__:\n",
    "\n",
    "Given the posteriors over the latents, we have that.... TODO: tidy this up...\n",
    "$$\n",
    "\\begin{align*}\n",
    "\\mathbb{E}_{Y\\sim Q} \\left[\\log P(X, Y| \\theta)\\right] &= \\sum_{i,k} r_{ik} \\log\\left( \\pi_k \\mathcal{N}(X_i| \\mu_k, \\Sigma_k) \\right) \\\\\n",
    "&= \\sum_{i,k} r_{ik} \\left[ \\log(\\pi_k) - \\log( + \\left( (X_i - \\mu_k) \\Sigma_k^{-1} (X_i - \\mu_k)^{\\intercal} \\right) \\right]\\\\\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "$$\\pi_k = \\frac{\\sum_i r_{ik}}{\\sum_{ik} r_{ik}}$$\n",
    "\n",
    "$$ \\mu_k = \\frac{\\sum_i r_{ik} X_i}{\\sum_i r_{ik}} $$\n",
    "\n",
    "$$\\Sigma_k = \\frac{\\sum_i r_{ik} \\left(X_i - \\mu_k \\right)\\left(X_i - \\mu_k \\right)^\\intercal}{\\sum_i r_{ik}} $$\n",
    "\n",
    "\n",
    "The following code implements these updates, which we can wrap together into a function to iteratively perform these updates until all of the parameters have stopped changing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def E_step(X, pi, mu, Sigma):\n",
    "    K = len(pi)\n",
    "    N = len(X)\n",
    "    r = np.zeros([N,K])\n",
    "    \n",
    "    # for each component, calculate probability density for all X...\n",
    "    for k in range(K):\n",
    "        r[:,k] = scipy.stats.multivariate_normal.pdf(cov=Sigma[k], mean=mu[k], x=X)\n",
    "    # ... then normalise each row\n",
    "    r = r / r.sum(axis=1)[:,None]\n",
    "    return r\n",
    "    \n",
    "def M_step(X, r):\n",
    "    N = len(r)\n",
    "    K = len(r[0])\n",
    "    \n",
    "    pi = list(r.sum(axis=0) / r.sum())\n",
    "    mu = list((r.T).dot(X)/r.sum(axis=0)[:,None])\n",
    "    Sigma = [None]*K\n",
    "    \n",
    "    for k in range(K):\n",
    "        mu_k = mu[k]\n",
    "        Sigma[k] = ((r[:,k][:,None]*(X - mu[k])).T).dot(X-mu[k])/ r[:,k].sum()\n",
    "    return pi, mu, Sigma\n",
    "\n",
    "\n",
    "def fit_GMM(X, K):\n",
    "    # K = number of components\n",
    "    # Initialise means to be random K data points\n",
    "    mu = list(X[np.random.choice(len(X),K,replace=False)])\n",
    "    sigma = [5*np.identity(len(X[0]))] * K\n",
    "    pi = [1./K] * K\n",
    "    \n",
    "\n",
    "    r = E_step(X, pi, mu, sigma)\n",
    "    \n",
    "    mu_old = mu\n",
    "    sigma_old = sigma\n",
    "    pi_old = pi\n",
    "    r_old = r    \n",
    "    \n",
    "    pi, mu, sigma = M_step(X, r)    \n",
    "\n",
    "    while ((np.array(mu_old) - np.array(mu))**2).sum() + \\\n",
    "                ((np.array(sigma_old) - np.array(sigma))**2).sum() + \\\n",
    "                ((np.array(pi_old) - np.array(pi))**2).sum() + \\\n",
    "                ((np.array(r_old) - np.array(r))**2).sum()> 1e-25:\n",
    "        mu_old = mu\n",
    "        sigma_old = sigma\n",
    "        pi_old = pi\n",
    "        r_old = r    \n",
    "        \n",
    "        r = E_step(X, pi, mu, sigma)\n",
    "        pi, mu, sigma = M_step(X, r)\n",
    "        \n",
    "\n",
    "    return pi, mu, sigma\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We'll also write a plotting function that will help us visualise the clusters that we find."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plotter_GMM(X, mu, sigma):\n",
    "    fig = plt.figure(figsize=(6, 6))\n",
    "    ax = fig.add_subplot(111, aspect='equal')\n",
    "    ax.scatter(X[:,0], X[:,1])\n",
    "    for k in range(len(mu)):\n",
    "        eigvals, eigvecs = np.linalg.eig(sigma[k])\n",
    "        eigvals = np.sqrt(eigvals)\n",
    "        ell = Ellipse(xy=mu[k],\n",
    "                      width=eigvals[0]*4, height=eigvals[1]*4,\n",
    "                      angle=np.rad2deg(np.arccos(eigvecs[0, 0])),\n",
    "                      color='black')\n",
    "        ell.set_facecolor('none')\n",
    "        ax.add_artist(ell)\n",
    "\n",
    "    plt.axis('equal')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.30699999999589705, 0.34552031722772703, 0.34747968277637586]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAFpCAYAAACf/JPiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VNXZB/DfmSXJZJ2EQAhhlSUIWghEQaOWTYJANXVD\nq622+lpbbdW2WChWq9ZKS1t5W6t9bbW1FVus0igiIoJapAQEEkT2fRkIJJA9k2SW8/6RzDCZ3DtL\nZiYzk/v7fj7zyeTOnZl7Iz733HOe8xwhpQQREfV+umgfABER9QwGfCIijWDAJyLSCAZ8IiKNYMAn\nItIIBnwiIo1gwCci0ggGfCIijWDAJyLSCAZ8IiKNMIT6AUKIQQD+BiAHgATwkpTyf4UQWQCWAxgK\n4CiAW6WUNb4+Kzs7Ww4dOjTUQyIi0pRt27ZVSyn7+ttPhFpLRwiRCyBXSrldCJEGYBuAEgB3Azgv\npVwshFgAIFNK+WNfn1VYWCi3bt0a0vEQEWmNEGKblLLQ334hd+lIKU9LKbd3PG8AsAdAHoAbALza\nsduraL8IEBFRlIS1D18IMRRAAYDNAHKklKc7XqpEe5cPERFFSdgCvhAiFcBbAB6WUtZ7vibb+40U\n+46EEPcJIbYKIbZWVVWF63CIiMhLWAK+EMKI9mC/TEq5omPzmY7+fVc//1ml90opX5JSFkopC/v2\n9TvmQERE3RRywBdCCAAvA9gjpfytx0vvALir4/ldAN4O9buIiKj7Qk7LBFAE4OsAdgohKjq2/QTA\nYgBvCCHuAXAMwK1h+C4iIuqmkAO+lPJTAELl5emhfj4REYUHZ9oSEWkEAz4RkUYw4BMRaUQ4Bm2J\nYkppuQVL1uzDqVorBphNmF+cj5KCvGgfFlHUMeBTr1JabsHCFTthtTkAAJZaKxau2AkADPqkeezS\noV5lyZp97mDvYrU5sGTNvigdEVHsYMCnXuVUrTWo7URawoBPvcoAsymo7URawoBPvcr84nyYjPpO\n20xGPeYX50fpiIhiBwdtqVdxDcx6Z+kAQNHi9czcIU1jwKdep6Qgr1Mwf6x0J5aVHXfX52bmDmkV\nu3SoVystt3QK9i7M3CEtYsCnXm3Jmn3KK++gvaVfWm7p0eMhiiYGfOrV/KVjLlyxk0GfNIMBn3o1\nf+mY7NohLWHAp16htNyCosXrMWzBKhQtXu9utU8d3Vd1sQYXTsoirWCWDsU9tfo5W4+dx1vbLKp9\n+C6clEVawYBPcU+tfs4/Np+AQ/oO95yURVrCgE9xT61LxlewFwAnYJHmMOBT3BtgNsGiEPT1QigG\n/TyzCRsXTOuJQyOKKRy0pbinVj/n9kmDWFeHyANb+BT31OrnlBTkoXBIFle/IuogpJ9BrZ5UWFgo\nt27dGu3DoBjHJQyJOhNCbJNSFvrdjwGf4ol3CibQPgAr0d43z+BPWhRowGcfPsUVpRRM7yqYLJVA\npIx9+BRX/M2KdZVKKCnIY9cPkRe28CmuBDIr9lRHFcyFK3bCUmuFRHvr/5HlFXisdGfkD5IoRjHg\nU1yZOrqv330GmE2qXT/Lyo6zy4c0iwGf4spHe6t8vu7Ks1fr+pEAq2OSZjHgU1zx1YevFwI3TWxf\n3tBX1w+rY5JWMeBTXPEVyB1S4q1tFpSWWzC/OF+1LDKrY5JWMUuH4sr84nzM/9cO2JzK80dcWTob\nF0zD1mPnu6xny9IKFzidTthsNrS1tcFms7mfO51OOBwOOJ3OLg+l7QaDAQkJCT4fer3e/wFRxDHg\nU1wpKcjDkyt3oabZprqPq8vm5yWXxn1pBYfDgcbGRjQ0NKC+vr7LT6Vt3j9bWlpUA3tCQgKMRiOM\nRqP7uV6vh06ng06n6/RcaZsQAna73f2ZSo/W1lYIIXxeEFzf7/1ITU2F2WxGZmZmp5/ezzMyMqDT\nscPCHwZ8iju1PoI90LnLpqQgTzXA92SevpQSNTU1qKys7PI4c+YM6urqFIO41WpFamoq0tLSkJ6e\nrvozKysLQ4YM6fJaWloakpKSVAO7EP7WAwsPh8PhvuCoXRiUHo2NjaipqUFtbS1OnTqFXbt2oba2\n1r3N9bOhoQFpaWmKFwSlbQMGDMDAgQPRt2/fHvsbxAIGfIo7auWQgcC7bNRWyQIQVNBvbm5WDOJK\nQT05ORn9+/fv8hgzZgzMZrNiME9JSekVLVe9Xo81e88rXGCHhuXzHQ4H6uvrO10EvC8M+/btQ21t\nLc6fP49Tp07hxIkTaGpqwsCBAzFw4EAMGjTI/fD8PSsrq9dcFFhLh+LOY6U7u/TNA4DZZMTPrh/r\nM2C7WvVqFwzPWvl2ux3Hjx/HwYMHceDAARw8eBAWi6VTIG9ra0Nubq5iIPd85OTkICkpKVx/grij\nVAPJZNTj2RsvjWoXW1NTEywWC06cOIETJ07g5MmTXZ63tra6LwCeFwLX88GDB8NsNkftHAAWT6Ne\nSq142pXDs3D0nNVn94zSe6XTAXvdWdhrTsFWcwr2mtO4OseOgwcP4tixY8jJycGIESPcj8GDB3cK\n5Onp6b2m9RdJRYvXK15k42ExmsbGRsULgev50aNHkZaWhosvvhhjxozp9OipLqNAAz67dCiuqM2g\n3XjovPt3S60V89/cAaC9e+bNLUfxizc2wHLsMGy1pzsFd3t9FfQpmTBm5sKQOQB9BgzGt789GyNG\njMBFF12k6VZ5OKnNfYiHORGpqakYPXo0Ro8erfi6lBInT57E7t27sWfPHlRUVOD111/H7t27IYTA\nmDFjcMkll2D8+PEYP348Lr30UiQnJ/fwWbRjwKe44itASCnhaDyHtjOH0XbmEO5e8QxMjRacOW2B\nLrUPjJkDYMjMhdGci6Sh42E0D4DB3B/CYARwoYvh+jjK4okXauMuvWFOhBDC3c1TXFzs3i6lxNmz\nZ7Fnzx7s3LkTW7ZswUsvvYQ9e/Zg6NCh7gvA+PHjMWHCBGRnZ0f8WBnwKab4y5xxBQ4pJey1lWg7\nc8jjcRiQTiTkDEdC/+FIGHU1+g8fjQSd2R3U1bCWfmTNL85X7MOP9TkRpeUW/OydXai1tmeGZSYb\n8cRXfI8TuQghkJOTg5ycHEyZMsW93WazYe/evSgvL0dFRQUWL16M7du3Y9CgQZg+fTqmT5+Oa665\nBhkZGWE/H/bhU8zwNbA3bXgavvPccqxa9x+0ndqH1lP7IPRGJPQf0R7gOx76tD6d+kxdi6OoiYWB\nw1gSyVTVeCtXXVpuUZzkZ9QLLLl5XFiP3W63Y/v27Vi/fj3WrVuHsrIyjB07FtOmTcP06dNx5ZVX\nwmRSvxvioC3FHc+BPXvdWViPVqDt1F44zuyHve4MdNnDkDhgNBIHjEbCgFEwpPm+BU426mC1OVUD\nPlv1nSllP8XyBTHSFxC1gWYg8oPNra2t2LRpk/sCsGPHDlx22WWYMWMGbrrppi7jCRy0pbhis9lw\n+PMtaD70GayHt8LRXIekoeORlHcxEgtmI6nfMDh1wU3Pb7Y5VV/LTDbGfHZITyottyimunouKBPs\n54UzGHt/3tTRffHWNkvI8yh88TVeFOnB5sTEREyZMgVTpkzBU089hYaGBmzYsAFr1qzB9OnTkZ2d\njXnz5mHevHkYPnx4wJ/LgE9Rc/bsWaxevRqrVq3C2rVrYUvpB8OQCehz3UNI6D8CoiPA5/mYaNVd\n/mbras2SNftU74SCDW7hmNTmGeCTOu7UXCy11rBenNT4muAX6GBzuC58aWlpmD17NmbPno3nnnsO\nn376KZYvX44rr7wSgwcPDvhz4n8KH8WVvXv34sknn8SkSZMwatQorFy5ErNmzcLu3bvx2sr1yJ12\nFxIH5LuDvWtgTx/mXObekB0STr6CerB/K6XUWVcwDoT3amVWhTs1Xxen0nILihavx7AFq1C0eH23\nF7xRW2xHrxNBzeb2XHUtHGsu63Q6XHPNNfjDH/4Ai8WCZ599NuD3soVPEVdTU4Ply5fjr3/9K44d\nO4bbbrsNzz77LK666iokJCS49yvJbf+p1CLaeuw8Xis7HrZjCmTlLC1Ra80KIOhMmkBy7n21fJUu\nGIEyJxsV7y62HjuPj/ZWBdXSVltsJy3REFAr3deFL1x3IQaDATNmzAh8/7B8K5EXKSXWrl2Ll19+\nGe+//z5mzZqFxx9/HDNnzoTBoP7PTq3Y2c9LLg1rwF/1+Wn8vORS9+/xlkESbkppkwLAHZMHB/13\n8Jdz7z047N3lE0r/uFIVVavN0enfTqBdTGrdObVWG4YuWOV30D8WJ5sx4FNYORwO/Pvf/8YvfvEL\n2Gw2fPe738WLL76IrKyskD87nH35Nc02lJZbUFKQF7ZCavHMs3UdykWvtNyC5jZ7l+2urrlABod9\n9Z2Hi9XmwMPLK/Dw8grohcDkizLdpTkyTEbYHOoD/i6WWise6fgMpeAfi5PNmJZJYWG327Fs2TI8\n++yzMJvNWLRoEebMmRNypUfPlrc52eizDn6wzCYjKp6YGdd1XmLJY6U7Fe/CPIva+Up1dDF5DdLG\nC+8U1p4sGMe0TOoxO3bswD333IOUlBS88MILmDp1algKRnn/DxPOYA9cuDVXEwt1XmK5q8nz2DJM\nRvdsVG9CXLiDCKTlHo/BHujaPx+uu6ZwYsCnbmtpacHTTz+NP/3pT/jlL3+Ju+++O6yVAUMZvAuH\naGfyxFpXk/fdVmOL3T0LVS3YA+0X6qLF6zF1dF+/M5/jnXcjwdcCPNHAtEzqlvPnz+Pqq6/G7t27\nsWPHDnzzm98MexnYaLawY6HOS6jpjeHknWJY02xTXVdYiVrufG+jEyLktMtICkvAF0K8IoQ4K4T4\nwmNblhBirRDiQMfPzHB8F0VfdXU1pk+fjilTpmDFihXIzc2NyPeotbAzk43Ii1DrW6C97z4WygnE\nUpZHOO624jnYm4w66AJozzikDEuufaSEq4X/VwCzvLYtALBOSjkSwLqO3ynO2Ww2zJw5E7NmzcKv\nfvWriC7uML84HyZj53IKJqMeT3xlLDYumIbMZN8VMIOVZzbhyOI52LhgWtSDPaB+wYtGV1MsjGdE\nUk5agurkvmSjDnuevg5fmxTYjNZo3YUFIiwBX0r5HwDnvTbfAODVjuevAigJx3dRdL322mvIyMjA\nL37xi4iv5FNSkIdnb7wUeWaTYss7nIO4Rp1Ac5s95NmZ4aR2wYtGV1O0xzMirb7FgdsnDYJR3/Xf\ntM0hUVpuwarPTwf8ebF6gQxbWqYQYiiAd6WUl3T8XiulNHc8FwBqXL+rYVpmbLPb7cjPz8df/vIX\nXHPNNVE7Du8a5aEym4xoarPD5rjw/0KsVImMRpaO0ncC6JJi2BsJASiFxMwgU4J7OqW3x8sj+wr4\nHb/XSCm79OMLIe4DcB8ADB48eOKxY8fCcjwUfseOHUNRURFOnjwZtWNQym0OldqELi3m4fvKHQeA\nH76xA44YmrsTq5bOG9+jjYVAA34ks3TOCCFyOw4mF8BZpZ2klC9JKQullIV9+7K+SSxzOBzQ64Mr\nURxu4U7V1AsRU4Oj0eav/ouTwd6vzGRj1O8M1UQy4L8D4K6O53cBeDuC30U9IC8vD42Njdi/f3/U\njiHcQdghZUwNjkabv4ufOcwD5b3RE18ZG+1DUBWutMx/ANgEIF8IcVIIcQ+AxQCuFUIcADCj43eK\nY4mJifjRj36ERYsWRe0Ywh2E9ULE1OBotPm7+LGB75vZ1H5BDEd55kgIV5bO7VLKXCmlUUo5UEr5\nspTynJRyupRypJRyhpTSO4uH4tBDDz2EzZs349VXX/W/cwSEOwg7pPSbDaQl/i5+dWEaKO+t5o7L\njUgN/HBhaQUKSnJyMj744AMUFxfj/PnzeOSRR3rkez0zR8LJNYEr1qbAR4u/+i89UckyXul1Au/u\nOB3xGvihYMCnoI0ePRobNmzAzJkzsX//fneFzEiJRGYO0L3FPbTA18VPrW7+lcOzcPScFZZaa6+v\nl6PG4ZSqqcKxkgDAWjrULYMHD8Z///tfOJ1OjBkzBn//+98RqVLbkSqipsWgFKqSgjzcNDEPntOT\nJIDtx+swvzgfRxfPwXPzxnfqHjMZGWYikQDgdDqxfv16fOMb3wj4PfwvQd2WlZWF//u//0NpaSmW\nLl2Ka665Bu+//37YA38kW0ex1L8aLz7aW6W6gAnQflHYuGCau0xFSwyUOw73mshqMpONEU8AOHjw\nIH76059i2LBh+OEPf4gJEyYE/F4GfArZ5Zdfji1btuDee+/Fj3/8Y4wdOxYvvfQSrNbwBOpIpkfG\nct2TWBXsvIVop7cunTcev7l1XJdAHG6uOk/hTgBwOp3Yvn07nn76aUyaNAlFRUVoamrCO++8g/Ly\ncjz88MMBfxYDPoWFXq/HXXfdhYqKCjz//PNYuXIlhgwZgh/96EfYunVrSK1+pcyRcIqV/tVYUFpu\n8ZtS6Ct1U+n9kf7v54vZZHSPSbgCcbi4qrZGIrOrvr4eK1aswD333IO8vDzcfvvtqKmpwTPPPIOT\nJ0/it7/9LcaNGxf053KJQ4qY/fv34+9//zv++c9/QkqJW2+9FfPmzcOXvvSloAuvubJ0IpEhosUS\nCkoCXZJPbb+bJubhrW0W1bIMrv9+eiHgkBJ5ZhOmju6Lj/ZWddrub9BXJ4BASvEbdQJLbhmnGIRL\nyy14cuUud30cV/680qCrAGDQi4BqLXV3WUMpJfbt24f33nsPq1atwpYtW3DllVdizpw5mD17NkaM\nGOHzXHu8lk44MOD3TlJKlJeXY/ny5Vi+fDmSkpIwa9YsTJs2DV/+8peRkZER8GcNW7Cq24Ot7YOH\nokfWGI1Hwaztq1RgTe2CHOwF1fPi7h381S4sSox6gSU3Kwd8te/1lQ2W3LHWrq8idoH+DVtbW1FR\nUYGysjJs2rQJmzZtgtPpxOzZszFnzhxMnz4dKSkpAR03wIBPMUpKiW3btuHDDz/EunXrUFZWhrFj\nx2LatGmYPn06rrzySphM6rfdgSyCrSYz2Yg5X8rFR3urYmaN0ViidjEVAI4snhPx9ytRqxbqeVFw\n3Rko8Q60/qqPlpZbVAvECQDP+SmKpvQ3kFLCUX8Wv5mSgrKyMpSVleHzzz9Hfn4+Jk+ejMmTJ2PS\npEkYNWpUt0uOM+BTXGhtbcWmTZuwfv16rFu3Dp9//jkuu+wy9wWgoKAASUlJ7v1DzcnX6wTSEg2o\ns9oY8L0E08IP5/vDUQI6kItNoN0tvu4i/Z3Llb9Yi2NHDqHtzGG0nTnkfuiNiZgz/Wp3gC8sLAyq\nBe9PoAGfE68oqhITEzFlyhRMmTIFTz31FBoaGrBhwwasW7cODzzwAPbu3YsRI0Zg/Pjx7sdPpg/E\nbz451a16+J6TY6K9KHisUZpUFUxKYXfeH66F2tVmAHsOMPurBOrvs4ALA/xOpxMWiwUHDx7EgQMH\nsHPnTmzfvh3lFTvgSEiDsd9FSOg/AumXfRXpA0diyTe+HBP/xtjCp5jW2tqK3bt3o7y8HBUVFaio\nqMCOHTuQkZGB6sQBMPYdCmOfgUjIHgxDVh50xiT/H+qFg7YXhNraDvb9od5VeH6vv9Z7oF1OpeUW\nPLK8Ak7phKOhGrbzp2CvPQ17zWkYGiuRK+pw+PBhmM1mjBgxAiNGjMDYsWMxYcIEjB8/Hp8cbe7x\nRWvYwqdeITExEQUFBTiGfth2dihOJRdj7KxEfOPSZCxd/gEqjx6A9eAW1G9+C/aaU9CnZMKYPRjG\nPoPcD0NGDnQpGRBCOQuZaZkXhFpTKNj3h2stAn81gADllrt0OtBHNOLDDz90t9YPHjyIxvJdOHf6\nBHRJqTBkDoAxcwBMffLwzVuK8bVrJ2H48OFITU1VPpbMzJhozSthwKeY5916O1Xfiv/dYsfNN9/U\nKVtDOh2w11bCVn0ctnMn0HL8czSUr4K97iycbc0wpPaBPi0b+vRsGNL6wpCeDX1aNnIH5KGqqgrZ\n2dkRX6eXOgukKyZQ3heb1tZWHD9+HJWVlaisrMS4xj3Yv+kLtNSfa2+515yGo+4Mmvr0wTNbRmPE\niBEYOXIkioqK8PTTI7C70YTf/+dErxrgZ5cOxTxft/2udMBTtVbofGRrSHsb7A3VcNRXt/9sqIa9\nvgqOhmqkOephr69CU1MTBg4ciEGDBrl/ej/PysriRSGMgs1bdzqdqK6udgdxX4/Gxkbk5OSgf//+\n7kcdUrD1rBON+jQMGHwRFt76Zcy70neOezxglw71GoHe9qclGbosRu4iDAkwdtyae3P1Fzc1NcFi\nseDEiRM4ceIETp48iYqKCqxcudL9u9VqRWZmJjIzM2E2m2E2mxWfK23LyMiI+hKR0SalREtLCxoa\nGlBfX48haMAdQxqxbMNeVNfUIV1vx+VDUrBtxUZ8/GoD6urqcObMGXcQr6qqgtls7hTE+/fvj7y8\nPEycOLHTtszMTOh0LCbgiS18ikmeg39qLffMZCNabM5OrUOjrn3fQGZiugSTJ97c3Iza2lrU1tai\npqam00+1566f9fX1SE1NVbw4pKWlISEhIaiH0WgMaD+DwQApJZxOp/vhcDg6/e65zeFwwGazwWaz\noa2tze9zVwB3BXHvn97bDAYD0tLSkJ6e7vdnenp6p1Z6v379YDRymUVvbOFT3PK+zVcK9iajHlKi\nS5qdzSlhNhnRancGnKsfTH9xcnIykpOTMWBA1zsFf5xOJ+rr6xUvDA0NDe5A2tbWhsbGRvfzQB6e\n71V6TafTdXno9XrV7a6LiedPpW2ui4orSA8ePNhnEHdd2Cg6GPAp5qjVv9cLAWfHouPzi/PxyPIK\nxffXWW14bt549x1Chsmo2tXTk2vX6nQ6d+t+6NChPfKdRJ4Y8CnmqPXZO6Xs1PWiVrvFnGzskrGh\nNBU/r5dkXhAFigGfYk6gqXrzi/Mx/80dXVrujS12lJZbOgVyrllLxHr4FIOU6qcrdb2UFOQhJaFr\nm8XmlF0WNXmsdCeGL3wPQxeswvCF7+Gx0p3hP3CiGMcWPsWcQGZNutT5WDRarYa+Q0q8VnYcAPDz\nkkvDfPREsYtpmRTX1CZlBZKpoxcCh56dHcnDI+oRgaZlskuH4ppa948QXVM2vanNyiXqrRjwKa55\nrlXqubZobbP/0sl6lkggjWEfPsU9pQycQNa/vX3SoEgeFlHMYQufeiWlrh4XvRC4c/JgDtiS5rCF\nT71SMJk+RFrBgE+9FidbEXXGLh0iIo1gwCci0ggGfCIijWDAJyLSCAZ8IiKNYMAnItIIBnwiIo1g\nHj7FJc9FzjmpiigwDPgUd7wXObfUWrFwRfuCJgz6ROrYpUNxR2mRc6vN0WWVKyLqjAGf4o7aIudq\n24moHQM+xR3vxcz9bSeidgz4FHcCXeSciDrjoC3FHZY+JuoeBnyKSyx9TBQ8dukQEWkEAz4RkUYw\n4BMRaQQDPhGRRjDgExFpBAM+EZFGMOATEWlExAO+EGKWEGKfEOKgEGJBpL+PiIiURTTgCyH0AP4A\n4DoAYwDcLoQYE8nvJCIiZZFu4V8O4KCU8rCUsg3APwHcEOHvJCIiBZEO+HkATnj8frJjGxER9bCo\nD9oKIe4TQmwVQmytqqqK9uEQEfVakQ74FgCDPH4f2LHNTUr5kpSyUEpZ2Ldv3wgfDhGRdkU64H8G\nYKQQYpgQIgHAbQDeifB3EhGRgoiWR5ZS2oUQDwJYA0AP4BUp5a5IficRESmLeD18KeV7AN6L9PcQ\nEZFvUR+0JSKinsGAT0SkEQz4REQawYBPRKQRDPhERBrBgE9EpBEM+EREGsGAT0SkEQz4REQawYBP\nRKQRDPhERBrBgE9EpBEM+EREGsGAT0SkEQz4REQawYBPRKQRDPhERBrBgE9EpBEM+EREGsGAT0Sk\nEQz4REQawYBPRKQRDPhERBrBgE9EpBEM+EREGsGAT0SkEQz4REQawYBPRKQRDPhERBrBgE9EpBEM\n+EREGsGAT0SkEQz4REQawYBPRKQRDPhERBrBgE9EpBEM+EREGsGAT0SkEQz4REQawYBPRKQRDPhE\nRBrBgE9EpBEM+EREGsGAT0SkEQz4REQawYBPRKQRDPhERBrBgE9EpBGGaB8Axa/ScguWrNmHU7VW\nDDCbML84HyUFedE+LCJSwYBP3VJabsHCFTthtTkAAJZaKxau2AkADPpEMYpdOtQtS9bscwd7F6vN\ngSVr9kXpiIjIHwZ86pZTtdagthNR9IUU8IUQtwghdgkhnEKIQq/XFgohDgoh9gkhikM7TIo1A8ym\noLYTUfSF2sL/AsCNAP7juVEIMQbAbQDGApgF4AUhhD7E76IYMr84HyZj5/+kJqMe84vzo3RERORP\nSAFfSrlHSqnUaXsDgH9KKVullEcAHARweSjfRbHDlZ1jtTmgFwIAkGc24dkbL+WALVEMi1SWTh6A\nMo/fT3ZsoxgWSJqld3aOQ0p3y57Bnii2+Q34QogPAfRXeGmRlPLtUA9ACHEfgPsAYPDgwaF+nKaF\nkhcfaJqlr+wcBnyi2OY34EspZ3Tjcy0ABnn8PrBjm9LnvwTgJQAoLCyU3fguQuh58YEGcmbnEMWv\nSKVlvgPgNiFEohBiGICRALZE6LsIoefFBxrImZ1DFL9CTcv8qhDiJIArAKwSQqwBACnlLgBvANgN\n4H0AD0gpHeqfRKEKteUdaCBndg5R/Ao1S+ffUsqBUspEKWWOlLLY47VnpJTDpZT5UsrVoR8q+RJq\nyzvQQF5SkIdnb7wUeWYTBJidQxRPWEunl5hfnN+pDx8IruXtCtiBDPqWFOQxwBPFIQb8XiKYgO3r\nMxjIiXovBvw44i/tkgGbiHxhwI8DpeUW/OydXai12tzbWI6YiILFapkxzpVf7xnsXViOmIiCwYAf\n45Ty6z1ZOOGJiALELp0YodY/7y+PXnS8l906ROQPA34M8FUWYYDZ5LMVL4Gg69ioXVy4Ri1R78Yu\nnRjgqyyC0oQob5ZaK0rLFUsVdeG6uFhqrZC4cHF5rHSn4vZAP5eIYh9b+DHAV1kEz/x6Xy19tYwd\n71Z7U6td8eLyj80n4JCyy3ZWwSTqPdjCjwH+yiKUFORh44JpWDpvvGprXyljR6k1r5TtA6BTsJdO\nB2TH76xLzP/5AAAgAElEQVSCSdR7sIUfAwIti+BqaT+8vELxc1zB2dWq93VH4Giqge28BfbaM7DX\nVcJeW+l+7miqBXQ66E3pMKaYMWPrc8jOzkZ2djZyc3MxZcoUTJo0Ce/uPMM+f6I4woAfJd5dLTdN\nzMNHe6sCqmOjFswHmE1dBoBdpJSwnT2C5oObYT1QBnvdGRj7DILB3B+GjBykDhsPpOfAkJEDfWoW\npMMOp7UBKbIZC24aierqalRXV+PYsWN44IEHcOjIUYiB45AwdAJMwybCAvVuJSKKDQz4UaCUlfNa\n2XGYTUY8N2+8z4BZWm5Bc5u9y3bXHYH3ALC94Ryadn2Exp0fAg4bTCMnI3PavUgcOAZCpz4YLHR6\n6IyJaAMwY0bXNXAu+8kbOFKxEdZDn6Fm/Z+RNGQ80gq/gl+9b2TAJ4pRDPhRoDaZqtZqU2wle3bR\nCLSnYnoym4z42fVjUVKQh0c6unts1SdQ859X0Xp8J5Lzi9DnuoeQmDcaomPR8UCpjS9UO1OQ+qWZ\nSP3STDhbm9G480Oce28patalYMyBe2Htdwm7eYhiDAN+FPgaCPXOjPG+G1BaAzIl0eDePwUtOP7h\nq2ja/QkyJt+C7Lk/gi4hqVvHadQLzC/OV8zP95wfoEtMRnrh9UibOBfW/ZtwoPR3MJhz0TbjPixc\n0eb+PPb3E0UXA34U+JtM5XlB8FdawbW/3W7HAz/9Ffb+fglMoyZjwL0vQp+cEdJxOpwSP1nxOZpt\nTvc2V37+TRPz8NY2S6dj0wkdkvOLYBoxCQ3b3kHla/PRctXX8DODQKtddnu9XSIKD6ZlRoG/yVSe\n3SiBpEUmV+9BQUEBXl/+BvrNexp9ih8MOdgDgFOiU7B3sdoceHfHaffKVwCgF8J99yH0BqRffiP6\n37kEjZ+vxYHXn0JjQ12Xz2DhN6KexYAfBa5lAjOTjV1e807H9LVEoXQ6ULfu/3Du/d/jySefRNYt\nP0dCv2EROWZvrnx+18XLe9IWABiz8tD/zl9Dn5aNyr89Anv92U6vM8efqGcx4EdJSUEeyh+fiaXz\nxvtcH1bpbkAAcLY2ob70aQwz1mPfrs9x4403Bj0gCwC64N/itmTNPr9dTgkJCciacR/SJsxF5esL\nYas57X4t0PV2iSg82IcfZf5WqVJauvDrY5Pw+wWP4vqZU7F06VIYDO3/Gc0mo+pMWjVOpVHgAPkr\nzWw2GSEEUNNsQ3rhDRCGRJz5x0Lk3Po0ErIHBbzeLhGFh5AKt+LRUlhYKLdu3Rrtw4hpGzduxM03\n34xFixbhwQcf7PRaabkFP1heAe9ed71OQAfAFmR0N+pE0O/xZDLqu7T+G79Yj9pP/op+tz6NUy9/\nt9ufTUQXCCG2SSkL/e3HFn4cWbZsGR555BG88sorGDduHDZs2ICmpiZkZmYiMzMTU4b1Q0ayETXN\nnVv5DqeEA+0Dq0p97UryOlIn/ZVo8MVqc3T5ztRLpgFOO2pXLUFLy7eQlNS9lFEiCh5b+DHu7Nmz\neOONN/Cvf/0LmzdvRnZ2NqqqqpCdnY2hQ4ciNTUVNTU1qKmpQWVlJZodOhgyc5HQdyiS84uQNGRc\npxm1ShO3vJmM+k5jCaXlFsx/cwdsju79W/Fu6ScZdMgqex5Xjr8Yv/71r7v1mUR0AVv4Mc7XYiNN\nTU0oLS3FsmXL8N///hdXXHEFtm/fjt///veYOnUqBg0ahMTExC6fKaXE5Y+9hRNHD6Ht9AHUbngN\n9nd/i+T8IqSMuQaJeRcDwvc4vV4I3DSx87jCkjX7uh3sPe8UPM/1qodfxbhx4zB37lxMmTKlW59N\nRMFhCz/ClAI7AMXqmHePaMPOtW/g3XffRVFREe68805MmDAB06ZNw93zn8HHLYP9zlT1nplrqzmN\n5r0b0LT7Ezhbm5H6pRlIn3QTdEb1rhTvFv6wBav83hUAXe8eBIA7Jg/Gz0suVdx/9erV+M53voMd\nO3YgIyP0eQNEWhVoC58BP8w8A3yGyYimNnun1rHJqIdOAE1tF4K9w1qP2o//ipYj2zBoyu2wD5mM\nQXm5+N41g/CrB+fh0quvw5b0q7tcIFxBubTcgidX7nL33euALgO3ANBWdRR1m/6FtlN7kXnt/Uge\nfpnqeeSZTdi4YBoAoGjxer/9+CajHhMGZ+C/h853CvreFw9v999/P1paWvDXv/7V5+cTkToG/ChQ\nK02sRkqJpi/Wo+aTvyBl9NUwX30ndIkpHa85cf6dX+KykQPQcsW3caqupcv79ULg9kmD8Prm4wGn\nVwoAzUfKcX7tC0joOwyZ0++DIT1bcb8ji+e4z2v+v3b4zNhZOm+86gCv58XDW2NjIwoKCvD888+j\nuLg4sJMgok4CDficeBVGgdS9cbFVn8CZfyxEw7Z30O+mJ5A149vuYA8AdRuWwdZQg6P5dygGe6B9\nlarXygIP9kB7l4tpWAEGfOsPMGYPwem/fh/1n70NKTvfE3SZFOVjgpa+Y8KX2l2Ar7uD1NRUPP74\n43juuecCOn4i6j4G/DAKtFRA466PUPn6j5GcX4T+3/gtEnNHdnq95fhONH6xDn2/+hM49QZfsbbb\nhCEB5qvvQO4dv0LTnv/g3OrfQTrbL1be5R38Ddo6pMTCFTtVj1PvZwbwLbfcgvLycuzfvz/o8yCi\nwDHgo73LomjxegxbsApFi9ejtNzSrc/xVypASom6TW+g9j9/R87tzyJ94le6LEIiHTac/+AFZE2/\nD/oUc/u2bh1NYAx9BiLntmfgqK9C9bu/QUaC6NLnHsiFzGpzqB6nv9z/pKQkfOtb38KLL74YzKET\nUZA0H/CVFvpeuGJnt4K+ryqYUjpR8+Ef0bT3U/S/cwkS+g5R3K/+s1IYMnJgGnVF0N/fXbqEJPS7\n+QnINisOL38av1y1s9PFL9SaN3kBvP/+++/H3/72NzQ1Nbm3hetCTETtNB/wlfrdu1u611UF01UM\nzUVKifNr/4i2ykPo/7XFMKT1UXy/vb4a9ZtXIPPa+7tVCC0UwpDQ3oUk9Kh4+Sdw2FrcF7+hfUwh\ndStNHd3X/VwtiA8ZMgRXX301Xn/9dfd+4boQE1E7zQd8te6K7pbuLSnIw8YF03Bk8RzkmU3uYG87\ncxj9bn0KusRk1ffWfroMqeOLYTT379Z3h0rojci+/lHoU8yoeutpSKcDVpsDG71SLYP1WtlxPFa6\n028Qf+CBB/D8889DShnWCzERtdN8wFfrrghH6d75xflo3bkGrZbdfoN9W/VxWA9tQcakm0P+3lAI\nnR59Zj8MCB3qPn09bJ/7WtlxLPp315RVzyA+ffp01NTUYP/+/WG/EBMRA75iv7t3lkp3jUyohXXT\n6xg+b5HPYA8Atf/5GzIm3QRdUmrI3xsqodMje+4P0LhzLaxHK8L2uZ6TzTy5grhOp8M111yDjRs3\nRvRCTKRVmg/43v3uSouQdEdLSwtuv/12XHz9t2FN9t1FY687g9aTu5E2YW5I3xlO+pRM9JnzA5xb\n9Vs4Whoj+l2eQbyoqAiffvppRC/ERFrF4mnwvwhJd8yfPx/2tFyc7n+l3wHPxl0fIeXiqyEMCWE9\nhlCZho6HaeQVqFn/MrJnPxSZ7/AK4ldddRWee+45vPJK14Vf1OoHEVFgGPAjYOXKlVi5ciXw1V/5\nzbZxlVfInvvDHjq64GR++S6cevkBWI9WwDR0fNg+VwCKQfziiy/GiRMn0NzcHJELMZGWab5LJ9zO\nnTuH//mf/8GyZcsAj1IJatpOt88uTcgdFelD6xZdYjKyZtyHmvV/RrjqLuWZTTiyeE6n4myuNM13\nd57ByJEjsW8fs3GIwo0BP8x+97vfYe7cuSgqKvJbUgAAmnatR8rYqT2edx8M08jJgNOJluOfu7cl\n6JWP16iD6uQzoHMXjlqaZkbuMOzevTus50BEDPhhVV9fjxdeeAELFiwAANw+aZDifkXDs2A2GSEd\nNjTt2YCUsVN78jCDJoRAWuH1aPisFACgF0CbSm0duxOdBsEzk43ti5mj64C4Wq79UVsaDh06FMlT\nItIk9uGH0Ysvvohrr70WI0aMAAD3wh//2HwCDind5Yx/XnIpSsstuO/nf4Sxz6CoTbQKRsrYqajd\n8Bps5y1Alnq/uk4IPLK8AgPMJjw3b7zPPni1nPpGG2C320M+ZiLqjAE/TKxWK5YuXYq1a9d22v7z\nkksVV3wqKcjDnQfKkHLx1T11iCHRGRORNq4Y9VvfQZ+Z31Hdz1UozdU9A0A16A8wmxRLJ6clGeF0\nKi3hQkShYJdOmPz5z3/G5MmTcdCWqVrwq7TcgoKnPsDQBaswdMEq2M4eQULOiCgedXBSJ8xB855P\n4LA2BLS/v1IIarn2V4/qG7YBYiK6gC38MGhra8OSJUvw/Wf/2GnFK89WLgDMf3OHu668dDpgO3cS\nxuzBUTnm7jCkZsE0/DI0fbEO6ZeVBPQeX6UQPPvyPXPtd6/ejsbGyE72ItIiBvww+Pjjj5GXl4d/\nn0iC1dY5wHm2cj0XEbHXnIY+xey35EKsMY2cjKadHwYc8AeYTYoLubuCvVKu/VuvNOCjnUfxjwWr\nYE42Qkqgzmrj5CuiELFLJwzef/99zJkzR7U1a6m1dumrbqs6CmO/YT1xeGGVNHAMWk7udq+O5YtR\nJzB1dN8uqZePLK/AY6U7Fd9TWm7B6i9Oo6HFBgmgptmGWquNJZKJwkAzAT+Si2msXr0a1113nc/C\nXt5Z67aqY0jIVl4EJZbpUzKhT8mEreqY331tzvY1d71TLyUulEz29uTKXXBIAaj04bNEMlH3aSLg\nR3IxjaNHj+L8+fMoKCjwveKV1+9tVUdg7Ds05O+PhqRBY9Fy4ouQP2dZ2fEu/w1qmm1wNFRDn5ql\n+j6WSCbqHk0E/EgupvH++++juLgYOp0OJQV5uGliYP3LtupjMKoscxjrEgddgtYwBHwJKP43aKs6\n6vNiyBLJRN2jiYAfycU0Vq9ejVmzZgFov5N4a1tgdw3ONmtM1L7vjqRBY9FycldYUie9xzYykgyw\nVR1VXfMXAEskE3VTSAFfCLFECLFXCPG5EOLfQgizx2sLhRAHhRD7hBDFoR9q96m1CM3JxpD69dva\n2vDxxx9j5syZAJTvJNQIqPdTxzpDej8InR6O+rMhf5Z3vaHvX9EHQmeAPiVTcX+zycgsHaJuCrWF\nvxbAJVLKLwHYD2AhAAghxgC4DcBYALMAvCCEUK+oFWFKfetGvUBji71Tv/78N3dg/JMfBHwBOHjw\nIPr374/s7GyUllsUZ42qEgJde/bjhz4lE47m+pA/x+F10cuT1Rh7ySUwm4xd9jUZ9fjZ9WND/k4i\nrQopD19K+YHHr2UAXAuy3gDgn1LKVgBHhBAHAVwOYFMo39ddShN8mlrtqLXaOu1nc0j3tkBKAxw+\nfBjDhw93DwoHJ35b+ACgS0qBs7UpLJ81fOF7cEiJPLMJI05vwLQrC/HcEzN95u8TUfDC2Yf/LQCr\nO57nATjh8drJjm1RU1KQh40LprnrsNd5BXsl/gZ2Dx06hOHDh/vsylEtehznLXxdYiqcASx9eOfk\nwTDqfJd+9qy/U7q+DPaMQQz2RBHgN+ALIT4UQnyh8LjBY59FAOwAlgV7AEKI+4QQW4UQW6uqqoJ9\ne7cFmunha2D3yJEjGDZsmM99khP0ygFPiHiO99AlBRbwP9pbhdSkwG4kpZRoPrELH5xJDmqyFhEF\nxm/Al1LOkFJeovB4GwCEEHcDmAvgDnkhbcMCwLMY/MCObUqf/5KUslBKWdi3b9+QTiYYvnLmPfm6\nMFRVVSEnJ8fnPk1tDkBAoU9aQMr4rQipS0qFs9V/wD9Va0VNs/+7KQBotewB9Ea0pA9UnKyllLdP\nRIELNUtnFoBHAVwvpWz2eOkdALcJIRKFEMMAjASwJZTvCreSgjz3Qh2+zC/OV52lW11djT59+vi9\neNgcEimJhk7fpTMmQrbFzwSiOycP7tQ9FWgLP5ibmKZd65F6yTTV1b/U8vaJKDCh9uE/DyANwFoh\nRIUQ4o8AIKXcBeANALsBvA/gASllYPmKPcjVr68W9F2tcrVZutXV1cjOznZPuPLVU+1dT8fQZyBs\n506G8Wwi67Wy4zAnG93nKBJMcLaG74Il7TY0792IlDFTfO7HWbZE3Rdqlo5qMXcp5TMAngnl83vK\n/OL8TmWNgQspgL5m6VqtViQlJQFo76sOpjVr7DMYtnPHw3H4Pcaza0a2WaFLCN+MV+uhz2DsNxSG\njH4+9/NXfZOI1Glipq0/nt073muv+pqlazabUVdX5/49GAnZg2Crjq+A78lhrYfOlBa2z2vctR6p\nftb2NRn1itU3WUGTKDCsh99BqS47oL4M3wCzCebMTNTU1PjcT01CzgjUfPK37h9wlDmtDd2u9qkX\notOEK4e1Hi3HdyJ7zg9U32M2Gf3ecbGVT+QbW/h+qC3DN784H2azGbW1tar7+WLIyoO0tcBeXx3W\n4+0pjqYa6FPM/nf0YjLq8ZtbxyEz+ULWUtMX62G6aKLPxWBSEg1+77iIyDcGfB9cfcVWm8Nd88Wz\nuyfTo4UfaNaPixACSQMvRqtld8SOP5LstadhMPcP6j2uvx0A1HWMBzhbm1G3+U1kTL4FRr36sLcr\noKulwLKCJpF/DPgqPGvoA+2zQV0te1fXgdlsRk1NjTtt85HlFQDaUxgDae0nDrwE1iPlkTuJCJFO\nB+z11TBkBB7wi4ZnYeOCaSgpyMPP3tkF1wyE+i3/hmloARL6DYNBJ1QvmK6A7uuOi4h8Y8BXodZX\n/OTKXe6c/NfKq7Fq64Eug4jLOlZ5ct0VqFUWSBkzBdb9/w0onz2W2OuroE/OgDB0LXCmZvvxOvfA\nqqtekaOpBg3b34X56jsBAFab029A9zXATkS+cdBWhVqfcE2zzZ2e2KhLRdX+L9B3TNdZocCFuwK1\nOjv61EwkXVSIxp3rkH7ZDYr7xKLWE7uQmDsqqPcoDazWfPQKUr90LQwZOe5tSoXuvNMu1QbYicg3\nBnwVgWTdJOZdjNqP/wIppersUH/18dMmzMG595YirfArECI+brisR7Yh6aLCoN/nuohmJhtxeu82\ntBz/AgPufcH9umsglwGdKDLiI8JEQSBZN+0tUwF77eluf09i3sUQxkS0HK3o9mf0JOl0oOVIOUzD\nJgT9Xlc//E9mjcT5D15E1oz/cU/eMuoFnvhK11r3kVx8nkhrGPBVKPUVexdAE0KEvL6rEAJpBXPQ\nsH1ViEfcM9pOH4A+rQ8M6dlBv9fVD//ff/wO48eOxojLprn/tktuHtelVR/JxeeJtIhdOj54dy24\nApBnN03a0EuRXHsQQhR3Wb0pUCljpqD2k1dhq62EMchUx55mPbytW61719KEf/7zn/Hee++hrKwM\nnxxtdvfVu4qief69OcmKKLzYwg+CUqv/huum4+Se7X6DfbJR/U+tS0hC2mU34PwHL4RlYfBIsh7Z\nBlOQ/feuukQff/wxFi1ahJUrV+KTo81+W++cZEUUXgz4QfJeOWtnYxocrc2w1/tevMVfGM+YdDOc\nLQ1oLH8vfAcbZvbG87CdO4nEgRf73C8lQQ+zydgpbfLS9BbcdtttWLZsGXY3peCHb+xQbb27cJIV\nUXixSydEp+taYBo2Ac37NiL9shLV/aw234udCL0B2XN+iMpljyJpyDgY+wwM96GGrGHr20i9ZCqE\n3nf+/a6nZnX6va6uDldccS0ef/xxNPa5GAtX7FS9I/JsvatVMeUkK6LuYQs/RAPMJqRN/Arqt62E\ndIZW8t/YZyDMV30N1at+A+mwh+kIw8NhbUDjjg+QPukmn/t51sgBAIfDgdtvvx1Tp07Fd7/7XZ/r\n/wKdW+++Jlkxe4coeGzhh2h+cT4WNrWhJjULzQfKkJJfFNLnpRbMQfOBzajb9AbMV30tTEcZuoZt\nK2EaOQmGdN/16mubbRj/5Aeos9qQYwKc6/8XfZL1WLp0KQDf/e9KrXelnHzvwXNX/79rfyJSxhZ+\niFyt0CFfvgUNn70Nk4/B2UAIIdBn9kNoKH8P1sPbwnSUoXG2NqNh+7vImHyL330l2ksn2OqrsP2F\n72F/ncC3nnwBRmN7y1+t/10vRMAlEnxl7xCROgb8MCgpyMOuV3+K/oYmGM8fCfnzDGnZ6PvVn6B6\n1W/RfHBzGI4wNA0V77WPK2QF1npuPb0flX//IVLGTEVG8fewdP2Fv4larZzbJw3CkjX7AuqiYfYO\nUfcw4KsIto/YYDDge9/7Hg5/9EZYvj9p4Bj0u/kJnFv9ezTt2QC9EFg6b3yXPvJIc9pa0PDZ28i4\n4taA9m/a+ynO/utnyLr2O8iYdCOEEJ0CsVK//E0T8/DWNkvAE6yYvUPUPezDV9DdPuJ7770XCx5/\nCm3Vx5GQPdjnd+gE4PSTq5mYOwo5857C2TeegLS34REpg1o3N1Qmox4nP/gLkoaMQ0K/YT73ldKJ\n+rI30VD+Hvrd+hQS+19Y7tg7EHv3yxctXh/UBCtm7xB1D1v4CrrbR5yRkYF7HlqA2jXPQ0rfaZi/\nvXU8ls4b36mle+fkwe6Syi4J/S5Czm2/QO3G13Fu7R8h7W3dOqdg5ZlNKMm0wHZ0G7Jmfsfnvi0n\nd6Hy1UdgPbQV/b/+607BPpBAHGwXDUskE3WPiKWZnYWFhXLr1q3RPgwMW7BKsSUtABxZPMfne51O\nJy6ZeAXO9p2A1AlzFffJM5uwccE0xdeUyjcAgLOlEedW/w622kr0vf7RiObp55lNWH7nKEycOBGP\n/PJPePVQgmIqpb3+LGo++gtaLXuQOeVuJF/8ZWSlJEBKoM5qUyxtrKRo8XrFyqS+/k5EdIEQYpuU\n0u8UeHbpKPC1cLk/Op0OK/7xKsZOmITEIeNg7DOoyz6+Wryu4PjDN3Z0mpykS0pFdslCNFasRuWy\nR5E2/jqkT74FuoSkQE4pKCfPN2LsNXMx9+a7sODu6zG63IKHl1+o5ulsa0H95jfRsH0V0ibORZ/r\nHoIuIQkmox5PfGVs0C3t+cX5mP/mDtgcF87XqBfsoiEKM3bpKAh1Gb3Ro0dj6Kx7UPX2L+G0tXZ6\nLTPZ2KUgm/fgcElBHn5z67gux9BeWXM2cu9ub+mf+tN9aNj+Lpxt4c1OqS97E612B7aZv+w+njyz\nCc6WRjSUv4dTf74ftppTyP3m/8J81R3ui05IqZHet1Sxc+NJ1Guwha8gkFWXXFwLnXvv9+vHfoC7\nvr4NNev+hKziByCEcLeAPd/rb3B4yZp9sNRaIXAhBhrSs9H3+vloPb0fdWX/Qu2nryP1kulILbgO\nxswBIZ279fA21G9bidy7nkOLA/jVe7uRUr0bhv+8AMv6tUgaWoDs63+MJJV6Ot1JjVyyZh9sXiPY\nNqdkVUyiMGMffgiU+ttNRr17APH1DXvxP/PmwjDwUoz96oN4dNboLtkpgfZdl5Zb8LN3drnXg/Vk\nrzuDhm3vonHXR9AlpcJ00USYLpqIpEGXQBgSAj4f6+FtqH73N8i67vuAww7rgTJYD2/DhEvy8fWv\nfx1HzePx9p5Gn5VBu9PvHsqYCREF3ofPgB+CQAL2+fPnMWvWLEycOBF/+MMfoNNd6EULNtCpfZ+L\nlE60nTkM66HP0HJ4G9qqjyGh3zDok83QmdKhS06H3pTR8TMd0mGHvbYS9rpKtJ7ah7bKg4BOD11i\nMhJyhiN55GQMm3ANtj47T3Uw2fu4Zcf5BzJY6++8OGhLFBgO2vaAQNIJs7Ky8OGHH2Lu3Ln45je/\niZdffhkGQ/ufPdjBYX/dJULokNh/RHtaZNHtcFob0FZ1BI7mejit9XBY62Gvq4Sjcj+czfUQegMM\n5v5wNDfAdv4k+sx+CMmjrnQvOwgAsya1zydQK3qmFwIOKTt1OQVb24Z59UQ9gwE/BIEG7PT0dLz/\n/vsoKSnBl2d/Fc5rHkRlox3mZCOMOtGp/9pXoPO3sLrZZIQQ7QXMBphNmDp5MN7aZlZtlUspUb/p\nDTQf2Iz+d/5acbLYR3vb6/yrXWycUiJP4biCWZkqmDETIuo+BvwQBNMyTU5Oxr1PvYh7vnEHbHt/\nhD7FD6IGA2HUC5hNxoDy1ucX53dKj/RW8cRMxe3Lyo536TqynTuJcx+8AGmzov+dS2BI66P4Xleg\n93VxC0dtG6WqmEQUXkzLDEGgMz5dqZePlu5FVslPkDzyClQuexS1G5ahrbUVDS12PDdvPDYumOYz\n6JUU5MFrIq6bEFCs/fPR3qpOwd5pa0XthtdQuexRJI+chP53/lo12AMX7lZ8paqytg1RfGALP0T+\nWqbeg51Cp0f6ZTcgOb8INetewqlXHkDWtd/FwhU69+f5csekwXit7HiX7VLC3QL37EP3bGVbj2zH\n+Q9eREK/Ycj95u9gSMv2+V2edyv+ul3YB08U+xjwI0xtsNOQ3l4CufngFpxb8zwaPx+Fx87eiOtf\n/H6nTB5vPy+5FACwbPNx+EqwcvWhpydInP6iDI0716Kt6hiyrr0fycMvU32fXgg4pVTsXvIO+q5J\nVuyDJ4oPTMuMMLXUS0/OthY0bH8XTbs/Rk6iHROnzsGR9HGoSxmEvMxkxeDpK0VTSidaT+5G066P\nYd2/EYbsIUgZMwUpY6dAZ2yfFWvUAXZn5wmtnnMIlPibd0BE0cG0zBjhL7MGAHQJSciYfDPGzPo6\n5o0Anlr6J9TtegoQAjWjinD/piGY328wWk3ZGNi/Hx697mKcqrVCSglncx3s9Wdhr3M9KmE99Bl0\niSlIGTMF/e/+X8VlCe1O4Ll544NqlfuqIsqATxT72MKPMKVWsVEvAIku5QRci5vUNNsgpURb5QFY\nD30G23kL7OctsNdWwtlmhS4xGfqkFNibaiEMiTCk94UhIwf69L4wZPRD0uAv+a1fzxmxRL0HW/gx\nQq1/G0CXUgk1zReeCyGQmDsKibmjOn2edDrgbG1CqrDBmZiGVnGhdILn5CdfujugGkoVUSKKPgb8\nHqH2DbAAAAbXSURBVKCWybNkzT7F2ji+CJ0eelM6WqDcJfPI8grVoC+AkAZUOSOWKL4x4EdRKItu\nZ5iMihcSV3VNb+GoS8NsHKL4xoAfBa6SymotcbOpvS/fV+u/qc3urlXvKdKtcM6IJYpfnGnbw1yD\nuGqZOyajHj+7fixSEn1fi20OqbjYCNd7JSI1bOH3MLWJWEDnssKP+KiZ4+JrkW8GeCLyxoDfw9SC\ntAA69bEHkr8fSnaM2kpdRNR7MeD3MH+pja5A7L2sobdA++WVAjsAv0srElHvw4lXPcxXeQKgaxEy\nV9DPTDZCSgRURtnfdyUadIoDwlxhiig+ceJVjPKV2li0eH2X/n3XkoHdCcRqpRDUxhBCSRMlotjH\ngB8FaoOq4VhIJJT3ccYsUe/GtMwYEu6FRNTel5lsVF3MhIh6Lwb8GOJrValwft4TXxnLXH0iDWKX\nTgwJd+kCf5/HAE+kLczSISKKc4Fm6bBLh4hII0IK+EKIp4UQnwshKoQQHwghBni8tlAIcVAIsU8I\nURz6oRIRUShC7cNfIqX8KQAIIb4P4HEA9wshxgC4DcBYAAMAfCiEGCWlVE4Ap7BguQQi8iWkFr6U\nst7j1xRcqARwA4B/SilbpZRHABwEcHko30W+eVbhlLhQLqG03BLtQyOiGBFylo4Q4hkA3wBQB2Bq\nx+Y8AGUeu53s2EYREokFxnnHQNS7+G3hCyE+FEJ8ofC4AQCklIuklIMALAPwYLAHIIS4TwixVQix\ntaqqKvgzIADhn6XLOwai3sdvwJdSzpBSXqLweNtr12UAbup4bgEwyOO1gR3blD7/JSlloZSysG/f\nvt05B0L4Z+n6umMgovgUapbOSI9fbwCwt+P5OwBuE0IkCiGGARgJYEso30W+hXuWbrjvGIgo+kLt\nw18shMgH4ARwDMD9ACCl3CWEeAPAbgB2AA8wQyeywj1L11/dfiKKP5xpS4p81e3nwC1RbGE9fApJ\nuO8YiCj6GPBJFRdDJ+pdWEuHiEgjGPCJiDSCAZ+ISCMY8ImINIIBn4hIIxjwiYg0ggGfiEgjGPCJ\niDSCAZ+ISCMY8ImINCKmiqcJIarQXnUzkrIBVEf4O2INz1kbeM7aoHTOQ6SUfhcUiamA3xOEEFsD\nqSrXm/CctYHnrA2hnDO7dIiINIIBn4hII7QY8F+K9gFEAc9ZG3jO2tDtc9ZcHz4RkVZpsYVPRKRJ\nmgj4QoinhRCfCyEqhBAfCCEGeLy2UAhxUAixTwhRHM3jDCchxBIhxN6O8/63EMLs8VpvPedbhBC7\nhBBOIUSh12u98pwBQAgxq+O8DgohFkT7eCJBCPGKEOKsEOILj21ZQoi1QogDHT8zo3mM4SaEGCSE\n+EgIsbvj3/VDHdu7f95Syl7/AJDu8fz7AP7Y8XwMgB0AEgEMA3AIgD7axxumc54JwNDx/JcAfqmB\nc74YQD6AjwEUemzvzees7zifiwAkdJznmGgfVwTO8xoAEwB84bHtVwAWdDxf4Po33lseAHIBTOh4\nngZgf8e/5W6ftyZa+FLKeo9fUwC4Bi5uAPBPKWWrlPIIgIMALu/p44sEKeUHUkp7x69lAAZ2PO/N\n57xHSrlP4aVee85oP4+DUsrDUso2AP9E+/n2KlLK/wA477X5BgCvdjx/FUBJjx5UhEkpT0spt3c8\nbwCwB0AeQjhvTQR8ABBCPCOEOAHgDgCPd2zOA3DCY7eTHdt6m28BWN3xXCvn7Kk3n3NvPjd/cqSU\npzueVwLIiebBRJIQYiiAAgCbEcJ5G8J+ZFEihPgQQH+FlxZJKd+WUi4CsEgIsRDAgwCe6NEDjAB/\n59yxzyIAdgDLevLYIiWQcybtkVJKIUSvTDkUQqQCeAvAw1LKeiGE+7Vgz7vXBHwp5YwAd10G4D20\nB3wLgEEerw3s2BYX/J2zEOJuAHMBTJcdHX7o5eesIq7P2Y/efG7+nBFC5EopTwshcgGcjfYBhZsQ\nwoj2YL9MSrmiY3O3z1sTXTpCiJEev94AYG/H83cA3CaESBRCDAMwEsCWnj6+SBBCzALwKIDrpZTN\nHi/12nP2oTef82cARgohhgkhEgDchvbz1YJ3ANzV8fwuAL3qDk+0N+VfBrBHSvlbj5e6f97RHonu\nodHutwB8AeBzACsB5Hm8tgjtWQ77AFwX7WMN4zkfRHvfbkXH448aOOevor0PuxXAGQBrevs5d5zb\nbLRncBxCe9dW1I8pAuf4DwCnAdg6/hvfA6APgHUADgD4EEBWtI8zzOd8FdoTTD73+P94dijnzZm2\nREQaoYkuHSIiYsAnItIMBnwiIo1gwCci0ggGfCIijWDAJyLSCAZ8IiKNYMAnItKI/weN62LVBstK\n9gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1126e33d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(0)\n",
    "pi, mu, sigma = fit_GMM(X, 3)\n",
    "print pi\n",
    "\n",
    "plotter_GMM(X, mu, sigma)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the clusters that our algorithm finds are highly dependent on the initial choice of parameters. In the above case, it would appear that two of the initial cluster seeds were chosen to be from one of the clusters, and since EM is vulnerable to be stuck in local minimima, it is not able to move either of the centres away. \n",
    "\n",
    "A sensible idea would be to try multiple choices for initial values. At the end of each iteration, we could calculate the marginal log-likelihood corresponding to the choice of parameters we found, and choose the final parameters that give the largest marginal log-likelihood.\n",
    "\n",
    "When we have a good choice of initial parameters though, the algorithm appears to perform well:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.69300000000001472, 0.19900000514436011, 0.10799999485562518]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAFpCAYAAACf/JPiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VPW9//HXdyaTZJIQAhK2gQCyBEUUJK7Y1q3iUgVx\nb2v19vba/qpt1RaLV6u2tT+pdPPW9rbetr96K7VatXFBRetSW8SFTZFVAUEGkC0JkkySycz390cy\nYZLMJJPMTGaS834+HjxMzsycOWfA9/nO93y+36+x1iIiIv2fK9MHICIivUOBLyLiEAp8ERGHUOCL\niDiEAl9ExCEU+CIiDqHAFxFxCAW+iIhDKPBFRBxCgS8i4hA5ye7AGDMa+F9gGGCBB6y19xljBgOP\nAGOBD4HLrbVVne1ryJAhduzYsckekoiIo6xYsWKftba0q+eZZOfSMcaMAEZYa1caYwYAK4A5wLXA\nAWvtAmPMfGCQtfa7ne2roqLCLl++PKnjERFxGmPMCmttRVfPS7pLx1q7y1q7suXnT4D1gA+YDTzY\n8rQHab4IiIhIhqS0D98YMxaYDrwJDLPW7mp5aDfNXT4iIpIhKQt8Y0wR8Dhwo7X2YPRjtrnfKGbf\nkTHmOmPMcmPM8r1796bqcEREpJ2UBL4xxkNz2C+y1j7Rsvnjlv79SD//nlivtdY+YK2tsNZWlJZ2\nec9BRER6KOnAN8YY4PfAemvtz6Ieegq4puXna4Ank30vERHpuaTLMoGZwNXAGmPM6pZt/wksAB41\nxvw7sA24PAXvJSIiPZR04Ftr/wWYOA+flez+RUQkNTTSVkTEIRT4IiIOocAXEXGIVNy0Fckqlav8\nLFyykZ3VAUaWeJk3q5w5032ZPiyRjFPgS79SucrPrU+sIRAMAeCvDnDrE2sAFPrieOrSkX5l4ZKN\nrWEfEQiGWLhkY4aOSCR7KPClX9lZHejWdhEnUeBLvzKyxNut7SJOosCXfmXerHK8HnebbV6Pm3mz\nyjN0RCLZQzdtpV+J3JhtX6UDMHPBy6rcEUdT4Eu/M2e6r02Y3165hkVvbG+dn1uVO+JU6tKRfq1y\nlb9N2EeockecSIEv/drCJRtjr7xDc0u/cpW/V49HJJMU+NKvdVWOeesTaxT64hgKfOnXuirHVNeO\nOIkCX/qFylV+Zi54mXHzFzNzwcutrfYzJpfGXawhQoOyxClUpSN9Xrz5c5ZvO8DjK/xx+/AjNChL\nnEKBL31evPlzHn7zI0K287jXoCxxEgW+9Hntu2SsDYO1hFzuOK9oXpNTA7DEaRT40ueNLPHirw7Q\nuGcLB176Hxp2rAcsuUPKGHTmf5A/5tg2z/eVeFk6/8zMHKxIBinwpc/7zjmT+Mo3bqZ69YuUfOoL\nDLvsB3jzPBwTep8nf3MPub6jGHL+jRi3R1044miq0pE+b+urj1JyYD0zbv4DxdPOY9SQYhZcOo3H\nFtzIQ88uJc82cuDvv8VX4uWeuVPVhSOOpRa+9DnRSxgW7FnLrqd/yuoVb1NWVtbhuVecOoHz3nie\nk08+mS8Nep8509WVI86lFr70KZESTH91gFBDHRsevYe8c27m079e06b+PlpxcTGVlZXcdtttvP/+\n+xk4apHsoMCXPiW6BPPgiqfwjp1O3uhjgMP197FCf9KkSXzzm9/k7rvv7tXjFckmCnzpUyIlmOGG\nWj5Z/hQDT72yzePRUyW0H307/vRLWbx4MZs2ber14xbJBgp86VMio2IPLn8K7/gKPIM73oDd2TIL\nZqTrx9Lc+r/92a1M+ewVauWLYynwpU85Y3IpNtTEJyufYeDJl8d8zsgSb8zRtxb4cPhnePxvT7J7\n9+5eOFqR7KLAlz7llQ17CWxdiWfQSDxHjOrweKTOPt6EaCavkMKJJ/HII4+k+1BFso4CX/qUndUB\natf9g8KjT+/wmNsYLpnRvLxhZxOiuSZ+ikWLFqXxKEWykwJf+pThRW4CW5ZTMOnUDo+FrOXxFX4q\nV/mZN6s87rTI4449ic2bN7Njx470HqxIllHgS5/y2ZJ95A0pw100KObjkSqdOdN9fOHksg6h7/W4\n+e75U7jgggt46qmn0n/AIllEgS99yqEtKykpP7HT50T67++eM5WfXzENX4kXA22mVjj//PN54YUX\neuGIRbKHplaQPmXZsmXYcRd1+pzo/vs5030x58459dRT+dr13+DUe15iV029pkoWR1ALX/qM+vp6\n3n33XcZOPjbucxKdDXPFPhe1Qcu2bR+21ulrQfP0ircMpfQeBb70GStXrmTy5MmcfWzHvnmAEq+n\ny9kwI6Fz06PvkDuinAb/+tbHtKB5+sQaCKcLbO9T4EufsWzZMoZNmNphnVoDzBw/mMK8HG56ZHXc\n1mN06ADk+SbTuHNDm+doQfP0iLcMpS6wvUt9+NJnLFu2jA/ck2iMMYJ26eYDrb/7qwPMe+wdoLkP\nPzKdsr9dmOeOPIradf9os00LmqdHvAupLrC9S4Evfcb69eupPel0PAk8NxiyfP/ptQDc+sSaDq1L\ngNzSMQQP7MBaizFGq2GlUWQZyljbpfco8CWrRC9uEl05Ew6H2bJlC8ddMY7ddYntq6ouGLMrIcKV\nV4Dx5BOqrWLMKJ+qdNJo3qzyDhfevnCBrVzl566n1lIdCAIwqMDDnRdO6bP/ThT4kjUifeyRUIjc\n2AOYMSRMjndAwmEf0VWXQe6gEXz9+CL+88taCQviX3CTFdlHOvadLpWr/Mz76zsEw4fvGFXVBdt0\nF/Y1CnzJGp3d2Duy6UOChUO7tb8Cj4tAMBz3cV+Jl7HHHc1IV02Pjre/ub1yDYve2N56Qzz6gpuq\n0E9lSKbr4hSxcMnGNmEfEQzZ1tHcfY0CX7JGZzf2Nr37DjmDRnRrf3WdhP2gAg9L55/JXfWvsXnz\n5m7ttz+qXOVvE/YR0VNVdHd/qQzjylV+7n1uHf691QwryuGUcQNZvOojAsEmsJYPqyzf/t2HHJg9\njctPnURhYSHGxJtNKTGdfTvsqzebFfiSNTq7sffegZ14SroX+J2prmvuk50wYQKLFy9O2X77qoVL\nNnYI+4juhltnXXOxQr+hoYHNmzezadMmtmzZwp49e1ixcRsrN22ntqYaW3+Qptoawg21mJxcdrhz\nWOn2gCsHXK7mMRnGgLV87X8b+Ua4gfr6egoLCxkwYEDrnyFDhjBmzBjKysoYM2ZM688jR44kJ6dj\nFMb79xh5LNHPIpu6sRT4kjU6u7F39UP78YydlrL3ivwPO3r0aPx+Df7pLNS7W0kTr2vu3mfXMTq8\nmzfffJONGzeyadMmNm3ahN/vp6ysjPLyco488kj2h7y81zgUd/mRlHiLcRcMxOUtxpVfhHG5O31v\nA/z8imkt3waqKM23XHvCcE4aXcCePXvYtm0b27Zt45lnnmn9ee/evYwbN46KigpmzJhBRUUF06dP\n54zJpTz0xvYO7+F2mYRuNnf3wtcbFPiSNTq7sTcsv4mD+QNS9l5nTC4FYNCgQVRVVaVsv31VvNas\ngW5X0hxed7iOhp0baNixngb/Wrbvep8v/Xkcp5xyCqHikXw49DQaRl/M9DFj+e75hytfZi54mbyi\nnnWZlBR4WkPW5BWyz8KvVgXY7RrMKxu87Kwew8hBk5l35eGWdmNjIxs3bmTFihUsX76cv/71r7z7\n7rvYwiG4hk3AO+548scdj9tbDMCAvJyEAruze1IKfBHi39gbmtvEofyilL3P4nd3cfecqa2Bn21f\nvXtbrG9XBvjCyWXd+hy2bNmCXfM0u995jcY9W8kdPoE831EMOOFiph41jbd+MOfwzeERzQG065Ng\nm5ZvMv3jVS1dddECwVCblnr7lnZubi5Tp05l6tSpXHvttQAEg0HGfPU3NPg3ULvhX+xf8mtyS8dQ\nUD6TpvKZjJ2/GF8X/06ycbCZsTZez13vq6iosMuXL8/0YUgWOuqoo8g/dx5VecNSts9fXDGNsycO\nZEjpUMZ954kOXUldzcvT3/T0ordv3z7+8pe/8Kc//YkN72/Gc+SJuI88mfyyYzE5zcPkIp8nwE2P\nrI55v8BX4mXp/DOZueDluH3n6eA2hpOPHMSH+wPsrA4w0OshGApT23j434NtClK//V1qN/yLwAdv\nkjtsPANPvoz8sqlgTMzwj3cekfNMJWPMCmttRZfPU+BLNouE0Bt3X8JR/+fXHHIXp2zfJV4Pq+74\nLG5PLqNv/GtrOEWk43/M/mT37t38+Mc/5sEHH+S8884jPP40Xq/3dehnL/F6uOui5i6bRMLc20U5\nbabZpiC1616h5s3HceUVMvDky/BOPImC3LaT97Xvw4f0NSQSDXx16UjWivwPU9fYRLj+EJ/Y/LjL\nFvZEdSDIuFufxeQVEq4/1GEVrWwovcvGrqY9e/Zw77338tv/+R0DjjmLws/fx9rSYVQHgpgY0zEa\nc/j+TCIt92wOewCT46Ho2HMoPOYsAu+/Sc2yR6l541GGXPRdFi7JbT3XbBxspsCXrBW56WWbGjDG\nhcnJTcv7uPKLYgZ+pud5ybYqj8pVfr77kwf44G+/YPDU0xnypf/CFh4B0Dr1QCxVdUFmLniZMyaX\nYiBu+WdfY1xuCspPxTvpFD5Z8RS7//Qdms79BnD4W2GqB5slS9MjS9aKtLBtUxDjTmTKtJ4xbg82\n3DawsmGel2yaUvjx5dv5yje+zeZnfsPQy39A4RnXtYZ9IvzVgZgDu/oDYwzFFbMZOvd2Dvz9N/zb\nzXdk+pDiSkngG2P+YIzZY4x5L2rbYGPMi8aY91v+G3vVaZE4WlvYNgxR/cKDCjz4Utn6Ni5ouZfV\nfu3bTMqWKo9wOMx1136BQ9vXMuJLPyNv+IQe7acvh73X48LVRX9inm8yw764kD/99j7+67GXe+fA\nuilVLfw/Aue22zYfeMlaOxF4qeV3kYTNm1WO1+OGcJhI57DX4+bOC6ewdP6ZDCpITavfGIMNh/GV\neNm64AKWzj8z42EP8buUerur6aGHHuLQ/o8ZdsXduAtLevW9e8uwAbm440zFUOBxsf6H5/H5k8q6\n3E/OgCEMPO2L3HbzDYTD2XcvIiWBb619DTjQbvNs4MGWnx8E5qTivcQ55kz3cc/cqQwvzgPTseUd\nq+a6R4whx0BdY1NWrbfaesGL0ttdTTU1NcyfP5/yuTdi3P33lt/B+hBXnTQaj7tj6AdDlspVfha/\nuyuhfRVNO5f6gwdYv35910/uZen8GxxmrY18QruB1BVQi2PMme7jVN9nOOZ3ntYSycgc5aniwoLb\n1XoByfTN0YhMVXlEVwblbH6NssnHMv8rs+MuJNMfRAZnxWrkB8PNi+kk2sAwxkXBoKHs3bs3xUeZ\nvF65ZFtrrTEmZheeMeY64DqAsrKuvzKJ87hcLkKh5qCJVduc9P4JE7KG6LZ0pofAR/R2lUf7z3f/\n/v3sr80H4J65U/n2o+8QyqKxO6kW79S6823ShkPkN1YzZMiQFB1V6qSzSudjY8wIgJb/7on1JGvt\nA9baCmttRWlpaRoPR/qqnJwcmpqagNiVK8lwG0MwGCJWAXk21OH3tvafr6uwhPqqj1svfuF+HPap\nEl7/d8rHj2XKlCmZPpQO0hn4TwHXtPx8DfBkGt9L+rGioiJqa2sJh8MpD+GQtZimAK68gg6PZboO\nPxPaf77e8SfQuGsTW95bCTRPTibxhWqrOLj0z9x///1Jz8efDqkqy3wYWAaUG2N2GGP+HVgAfNYY\n8z5wdsvvIt2Wk5NDQUEBn3zyScpD2G0MpuEQBUUD22zPhjr8TGj/+brzixh05n9Q8/dfUV9fH7fL\nQ6Bxz1b2PDSPz131Zf7Ps/uyqgAgIlVVOldZa0dYaz3W2lHW2t9ba/dba8+y1k601p5trW1fxSOS\nsMislqkO4aamRkJNQX585Yn4SrxZVYefCbEqg46Y+hlOOqGCT33qU+zb9VGGjiy71W74Fx//5TbO\n+7dvsXLwmfirA1gOFwBkS+j33zor6Vdc+UXM/tkSDhaMSul+h+Y2ERg0iIuPH8XFx6d2331RvMqg\n2T98lPvuu49bvvcdSs75BgUTT8rwkWaHxo+3UL30zzTu2cqIK3/IhwMnE2g3zUS2FACAAl/6gMpV\nfvY05FC3dz/eMakLZQNcM6OUXz6mQeDR4lUG3XjjjTQMOpLbv/UffLLqWQaechl5o6bgMoZTxw/m\nw/0B/NWBfjVfTjyNe7Y2B71/A8UnX8qQC+fh8uTFnVMoWwoAFPiS9RYu2YhtmdEylSxw6GA1gwcP\nTul++7PvXnMRVQU+fvf7P7L/uftwewdSfPJlrMg5mQWXHMec6b4OM3weqG3I+hkwExFuqKPu/WXU\nvvcKwX3bKD5xLkM+921cnvwuX5stBQAKfMl6O6sDuL3FhOtqUr7v+59dyQhP6lbScoJ/bq6haNq5\nFB77Weo2LaNm6Z858OJ/8/VXPs2QH9/Ehaec0uYbwrj5mV8k3m1Mj8YPhOoPEdj8NnWbXqf+w3fI\nHz2FouNm4Z1wIi5PXofnDyrwUB8Mx1yXORso8CXrjSzxUl0ynKbq3Snfd90+P/5Q6tbKdYJI94Rx\nuSmcfBqFk0+jcd92AhuXcv311+P3+znnnHOYNWsWJ510EiOK89h5sCFjx/uLK6YBJDRgr+ngHhp2\nrKN+x3oadqylqXo3+WOOpWDSqRxx7jda17WNJTLPE2TXHPjRFPiS9ebNKuf65T6q3k39DITB6t2Y\nI3SzNiKRBVdiLXieO6SMcRPKmTernLsf/RcvrPoXL/z0j+RU3cnBqv1wxFhyhk0gb/gEcodPJKdk\neIeVsdKhxOtpc/wLl2zEXx0g3BigqWonwQP+5j/7ttPgX48NNZE36ijyfUdRdMyZ5A47Mu7U3IMK\nPBTk5nT4rLKlIicWBb5kvTnTfWy55NN8b+nDKd93U9VORh83M+X77YsSXXAl1oLnXo+bMyaXNm+3\nRRRNOxemnYvX42bhWaPYsuE9/lD5Evs2LaP6tT/R9Ml+cgcMZthIH4HcwTR6B5M7cCiuAaW4vQMg\n14ur5Y/J9ba5OLgMhOP0ztimRkJ1BwkHDmLqD3LWsSX88pcb2bt3L7t37yb3/fcJbtrEvgMHcA0c\ngWvgCHIG+zjiqJMp/Oy/Uect7TBgygA5bkMwdPhNI6359hfDbFu0pj2taSt9wsGDBxkxYgSlNzxC\nzBmuEuD1uADTJqh2/vYr/OKPj/L12Z9K0ZH2Xd1ZdDvWN4FI6zmR1weDQfx+P9u2bWPbtm1s3769\n9b9b/B/j31NFY6CWcGMAG6zHuD2YXC8uTy4FuW7qGpqaB4HZEDbUhA0FsaEgWHAXFOPyFpNTMJDj\nJ5UxbVIZQ4YMYdiwYUycOJFJkyYxatQoXK62w5C6mqepoGWt3c66aXpz4fJoWtNW+pXi4mIKCwsp\ndQfYG+44DUIi8j1uLjh2BK9s2MvO6gDDB3jYWVfFV85TTTl0b8GVWKWbNz2yOuHXezwexo4dy9ix\nYzs9pspVfu59fgP+vdUM9Vq+coqPWceM4IW1H/PAP7ew+2AjOZ5cwq6c5umb3Z42LXRb4uX+qKCt\nXOXnqj9vZGf1mg7BHflvvAniAsEwP79iWqct9WxZtCYeBb70GRMmTOD8Iw2Ltrl7NIFaVV2Qh9/6\niAF5zf/sGw7sYnDpMHJz07NWbl8Tq28+sj2dr+/svkG8MQHXjR3LdRccvlCPm784Zu1/dNAm0t0y\nZ7ov7oXLQpcDqJL9DNNNa9pKn1FRUUFe1VbumTuVEm/PJvEKhS3VgSAW2L5pDXXFY7L6JltvSnbB\nlZ68PhLCyU5FkMjqYImuEdxZOHfVUs+GRWs6o8CXPuOUU05h2bJlzJnuY/Wd5yS9vwb/enJGlGdk\nUfBsFFlhrKdzCvXk9alaqD2RoE20u2XerHLi3SXqqqWe7GeYburSkT6hcpWfn6y2vPPCq5x6z0vc\ncu5kfHG+Pieqwb+BomPOypr+1WyQ7IIr3X19qvq8E1kdLNHuljnTfSzfdoBFb2xv002UaEu9txet\n6Q4FvmS9yNf+OpoHvWzfvo1bnwhyyQwfj6/w96g/P1KHnTvsyKzpX3WiVPZ5dxW08cpJY4X43XOm\nUjFmcNYOoOopBb5kvcjXfmMMub7JNPg3kDNwGK9s2Ms9c6e2/k/p6sbw+YZdm8gdOg7j9nDGZK20\nlindCeFkdXeN4GxuqfeUAl+yXvTX+/xRU6jf/i6FR3+mw9f+Afk51DY2tRkgE0/DtnfJG9U8DP6V\nDdm32LRT9PZC7f0xxLtDgS9ZKbpUL7rl7p1wIjVvPsbg8NcZVJTfpnVYHQjicZlOR2JG1L2/jCPO\n/QaQPTXSTuX0EO5NqtKRrNO+VC+6m8YzaCRu70DY8z7W0qH/Phi2FOd7OlRstHnOAT+hwEFyRzZ3\nG6gPX5xCgS9ZJ1apHrSsPwsMn3YGUwJrqImz2ERNINimNK7E68HjPlxoV7v+NQonfwpjXFlVIy2S\nburSkawTr4slbC1bF1zA5s2TOeWUUxh/7OfZ9UnH0C8p8HToJoh0Ee2oqqNu3ascccHN+PpJ5YVI\notTCl6zT1ajJ8ePHc8wxx3BieH2blnvEofqmDiM150z3sXT+mfz2jBwmjShh54M3sXT+mQp7cRQF\nvmSdREZN3nHHHTz7v/dTECPwg2HbYaTm7ZVrOHL+YmZ/+VvsnXAh33vyvfQcvEgWU5eOZJ1ESvVO\nP/10fD4fa1e8SOHUszrsY2d1oLUbJzKwJ7D5bWywgfzyU3noje1A8wAbEafQfPjSZ7366qucd8kX\nGPpv92Ny2s54WeL10NB0eG1RGw6x+0/fpvikSymcfBrQfBN48z3n9/pxi6RaovPhq0tH+qzTTz+d\niooKql/8NdENF6/HjTFtSzar//EgrrwiCspPbd3Wk0WtRfoyBb70ac8/8WcGB/y41j3XZnbC6rrD\n1TuH1r5C3abXGTL7Fow5/E/e3cOVs0T6KgW+9GmFhYW8vGQx9cuf4PPu13nhGycxZ7qPkSVebFOQ\nmjf+StVL/0Pp3Ntxe4vbvPaqk0Zn6KhFMkM3baXPGzduHMuXL2fevHkcffTRXHrppZTureXtxc+Q\nM9jH8C/9DE/J8Nbnu43hqpNG64atOI5u2kq/snTpUl5//XXC4TANA8eypLq0X01vKxJLojdtFfgi\nIn2cqnRERKQNBb6IiEMo8EVEHEKBLyLiEAp8ERGHUOCLiDiEAl9ExCE00lb6pOhFzjWoSiQxCnzp\ncyKLnEdmw/RXB7j1iTUACn2RTqhLR/qcWIucB4KhDqtciUhbCnzpc+Itch5vu4g0U+BLn9PVIuci\nEpsCX/qcRBY5F5GOdNNW+pxEFjkXkY4U+NInzZnuU8CLdJO6dEREHEKBLyLiEAp8ERGHUOCLiDiE\nAl9ExCEU+CIiDqHAFxFxiLQHvjHmXGPMRmPMB8aY+el+PxERiS2tgW+McQO/As4DjgauMsYcnc73\nFBGR2NLdwj8R+MBau8Va2wj8BZid5vcUEZEY0h34PuCjqN93tGwTEZFelvGbtsaY64wxy40xy/fu\n3ZvpwxER6bfSHfh+YHTU76NatrWy1j5gra2w1laUlpam+XBERJwr3YH/NjDRGDPOGJMLXAk8leb3\nFBGRGNI6PbK1tskYcwOwBHADf7DWrk3ne4qISGxpnw/fWvss8Gy630dERDqX8Zu2IiLSOxT4IiIO\nocAXEXEIBb6IiEMo8EVEHEKBLyLiEAp8ERGHUOCLiDiEAl9ExCEU+CIiDqHAFxFxCAW+iIhDKPBF\nRBxCgS8i4hAKfBERh1Dgi4g4hAJfRMQhFPgiIg6hwBcRcQgFvoiIQyjwRUQcQoEvIuIQCnwREYdQ\n4IuIOIQCX0TEIRT4IiIOocAXEXEIBb6IiEMo8EVEHEKBLyLiEAp8ERGHUOCLiDiEAl9ExCEU+CIi\nDqHAFxFxCAW+iIhDKPBFRBxCgS8i4hAKfBERh1Dgi4g4hAJfRMQhFPgiIg6hwBcRcQgFvoiIQyjw\nRUQcQoEvIuIQCnwREYdQ4IuIOEROpg9A+q7KVX4WLtnIzuoAI0u8zJtVzpzpvkwflojEocCXHqlc\n5efWJ9YQCIYA8FcHuPWJNQAKfZEspS4d6ZGFSza2hn1EIBhi4ZKNGToiEemKAl96ZGd1oFvbRSTz\nkgp8Y8xlxpi1xpiwMaai3WO3GmM+MMZsNMbMSu4wJduMLPF2a7uIZF6yLfz3gLnAa9EbjTFHA1cC\nU4BzgV8bY9xJvpdkkXmzyvF62v6Vej1u5s0qz9ARiUhXkgp8a+16a22sTtvZwF+stQ3W2q3AB8CJ\nybyXZI9IdU4gGMJtDAC+Ei/3zJ2qG7YiWSxdVTo+4I2o33e0bJMslkiZZfvqnJC1rS17hb1Idusy\n8I0xfweGx3joNmvtk8kegDHmOuA6gLKysmR352jJ1MUnWmbZWXWOAl8ku3UZ+Nbas3uwXz8wOur3\nUS3bYu3/AeABgIqKCtuD9xKSr4tPNMhVnSPSd6WrLPMp4EpjTJ4xZhwwEXgrTe8lJF8Xn2iQqzpH\npO9KtizzYmPMDuAUYLExZgmAtXYt8CiwDngeuN5aG4q/J0lWsi3vRINc1TkifVeyVTp/s9aOstbm\nWWuHWWtnRT32I2vteGttubX2ueQPVTqTbMs70SCfM93HPXOn4ivxYlB1jkhforl0+ol5s8rb9OFD\n91rekcBO5KbvnOk+BbxIH6TA7ye6E9id7UNBLtJ/KfD7kK7KLhXYItIZBX4fULnKz11PraU6EGzd\npumIRaS7NFtmlovU10eHfYSmIxaR7lDgZ7lY9fXR/BrwJCIJUpdOlojXP99VHb1pea26dUSkKwr8\nLNDZtAgjS7ydtuItdHsem3gXF61RK9K/qUsnC3Q2LUKsAVHt+asDVK6KOVVRB5GLi786gOXwxeX2\nyjUxtye6XxHJfmrhZ4HOpkWIrq/vrKUfr2Knfau9tqEp5sXl4Tc/ImRth+2aBVOk/1ALPwt0NS3C\nnOk+ls4/k19cMS1uaz9WxU6s1nysah+gQ9hHaBZMkf5DLfwskOi0CJGW9o2PrI65n0g4R1r13ang\nMTTfD2gQqPuMAAAfjklEQVRvoNcT9zXq8xfpWxT4GdI+LC+Z4eOVDXsTmscmXpiPLPF2uAGcqNwc\nFw1N4Q7bW1YwjHn8ycy/LyK9T4GfAbHC8qE3tlPi9fDzK6Z1GpiVq/zUNTZ12B75RtBV3X48scIe\noLoudheQVr4S6XsU+BkQL5SrA8GYreToLppYXS8lXg93XTSFOdN93BSnu6en4t1fiNe3768OMHPB\ny+rmEclCCvwM6OxGaPtWcvtvA7H62QvzclqfP9DrYf+BA4RqqwjX1RCqqyFcfwjb1AjWYnLzceV6\nm/8UDsIz2IcrN3aoe9yGebPKY/bVxxsfYDg8+je6mweSm8lTRJJnbJzqjEyoqKiwy5cvz/RhpN3M\nBS93ekPVAFsXXJDQcwFCB/dxz6luHnziWV599R+EaqtxFw3GXTAQd8FAXPlFGE8eAOHGemxjgHBj\ngNCh/TRV7cKVX4TnCB+5I48iv2wqeb6jcHnycBnIz3FRF2zb3eP1uLlkho/HV/jbfFOJd+N3UIGH\n+mC4w01pLZwikhrGmBXW2oqunqcWfgbEqsqJFt2NEuvbQKiuhsCWFdRvX0PDR+9BsI6/fXwW6+uH\nU3rxf+IZUoYxiVXcWhsmdHAfwf0fUb9jHTX/fIjGvR+SN7KcwqNPp6l8Jq68gjavCQRDPPPOLu6Z\nO7W1q8ltTNzSzqoY9wHU3y/S+xT4GRAJue8/vbZDGLYvx4zuOglW7eTg25XUrfsH+WOOI69sKkNP\nmctPrruAuTNGM3b+4m4fizEucgYOJWfgULxHzgCuJtxQR+DDVdSufYUDL/8O7/gKio+/kDzf5NbX\nRer5u7p4dUY1/iK9S106GdZVLXvlKj833v8Ye5c+Rv32dymadh4DZ3wOV+EgfO2e35PAdxkId/JP\nIFRXQ+26Vzn49pN4Bo1k4MwryR99DNC8ni10PmOnx2UIxnkDX4mXpfPP7PYxi0hb6tLpI+KtUmWt\nZcmSJfzXvfdSu34jQ2fMIXzeNxk17Ii4NzxLvJ64I2nj6SzsAdwFAymumM2A6edz6L1X2P/sfeSU\nDGfwZ7+Gn867Y0q8HoyJ3aVjIOH1dkUkNRT4WWjbtm186Utf4sCBA9xyyy1ceeWVeDzxR7xG3HXR\nFG5+ZDXtK+rdLoML4ra044lunRu3hwHHnUPR1LP4ZPlT7H5oHgMqLmLgiZdgcmIfW0NTOG5Xj0UD\ntER6m+bSyTIPP/wwJ5xwAhdccAGrV6/m6quvTijsoTlABxZ0fG4obAmGLe54w2Zj8JV4WXjZca3d\nNhHG5ab4xIsZce0vaNy1iV0P3kjwQOwZNQPBUNz3bL9fEUk/tfCzRE1NDTfccANvv/02zz33HDNm\nzOjRfuKNjIXmCdLilU5Gi9w4jnQ3Va7yM++xdwiGDr8yp3gopXO/x6F3nmf3ols4Ytb1FEw6NeZ7\nej3uLucJEpH0U+BnSPTN2qLqzex95qdcfOH5rFixgsLCwh7vN5EFUzrjNoZLZrS9r7BwycY2YR9h\njGHAtPPIHTaevZX30LB7MyWf+iImqlUfubGsQVcimafAT7NYVTjQPH99XWMTNUsfZvvqZxlxwbeY\ndd1/xA37RGemTKZMEppb5I+v8FMxZnDr/rsqn8wbMYkR1/yCPY99nwN11Qw+5+sYlxsDnDG5NO6N\naRHpXSrLTLHoYB7o9VDb2NSmdez1uHEZONQQ5MCLv6Fx9weUzr2dnKLBlHg9FOblxFx6MNb0yZGR\nqpWr/G1q+l3Q4cZttM4GSUVEl0wmMtrX63EzdWgOT//kZtzFQznivG9iXG6NqBXpBYmWZeqmbQq1\nX3CkOhDs0BUSCIY4VN/IgefvJ7jnQ4ZdcTc5RYOh5fmxlhiMNzPltx99h9sr13Dzo6vblD52FvaG\nw335nYlu1c+bVY7H1fkr7pk7FX+ti9JL7qTp4B6qXvqf1uNsvzCLiGSGAj+FEpma2Now+5/7JcGq\nnQy9/Psdpi2IFgn1eK3rkLU89Mb2Lmvp27x/u//G02GWzE7yPlKJ468O4MrNZ+jFtxH4cDWfrFzc\nul1EMk+Bn0KJTBVQ/eofaTqwg6GX3hV3lspoibTGkxFr3+2raOLdtI0IWcutT6xp3Zcrv4ihl95J\n9esPE9i6qlvloCKSPgp8mrtiZi54mXHzFzNzwctUropdV96VeHPHR9S8+QSBzW9TeumduHLzE95v\nOu+yxJpbv32feyIXskAw1GZfnkEjKL3ou+xb/FMaDx1IzcGKSFIcH/ixFvqO9J1317xZ5XEXGa/b\n+DqfrHyaoZf/ALd3QJJHnT4NTc197tEXv64uZPHkl02laOrZ1L38G3pSHJCqC7GINHN84He2VF93\nzZnu4565U/GVeNt0lYTqatj/4q8pnT2fnOLSJI84vQLBcIeL39gjvD3uViqZ+QXchz5m0aJFQOIh\nnsoLsYg0c3wdfrzuip5O3Rtdcx4pZzzw999SNOVM8kb2vdGlgWCIpZt73iVjcjy4z7iBr17/TUzZ\nDO5+cVtCC59rzVyR1HN8Cz9ed0VPuzGizZtVTtOWN2nc/QEDT/tC0vvrq/KGT8CUHc+Nt/0w4W9T\nqb4Qi4gCP2a/e6rmevn0GC+BVx9g7MXfxtWyxKBTlZz2BQ4sf4bQoaoOj8UK8XReiEWcyvGB377f\n3VfiTdnI0JtvvpkhUz9FsLTvdeWkWs7AoRQecyY1bz7W4bFYIZ7OC7GIUzm+Dx/iL0KSjOeee47K\n516k+Av36araoviE2ez6f9+i5FNXt5alxgvxyN+HJl0TSR0FfhpYa5k3bx7ez3w1ocFVTpFTPJS8\nUUdRu/41io87p8sQ16RrIqmlwE+Df/zjH1hryR13fKYPJesMmHY+tcv+zNbn7gMOl2mqFS+Sfupt\nSINf/epXfP3rXyfH1X8/3lx37Mp8j4u4g88ABpWfgKe+is2bN6vWXqSX9d9EyhC/389LL73E1Vdf\nzVUnjY75nJnjm6dC7qvcBhrjzK3TFKbNTfBBBZ7mxcxpviG+4JLjmDv7QhYvXpzSQW8i0jV16aTY\nAw88wFVXXUVxcTF3z5kKwMNvfkTINq8pe9VJo7l7zlQqV/m58ZHVGT7anulkHjVcxnDTI6sZWeLl\n51dMi9k9Yz/3Of77v/+bncePj7kP1dqLpIcWQEmhxsZGxo4dy4svvsiUKVO6fP7Y+Yt74agyJ97i\nJ5988gkjRozgmO/+ld21HWfvj158RUS6lugCKGrhp9Df/vY3Bo8cw3VPf8zOP33Y4SZk+5WpjIEs\nut6mXLypEAYMGMDEiROZOzbE/9uUowXORXqJAj+FfvKr33Fg9Kc51NIlET1XDMC8x95pM698fw77\niHjdM9OmTaMksJN75l6gWnuRXqLATxFrLatXvs2wa77YZnv0TcjOFhHpr0aWeGMuwD59+nRWrVrF\nf193XYeAj35+SYEHa6EmENQFQSRJCvwU+fDDD7HGTc6AIR0ec+oSfx6X4YzJpW0WYPdXB7jpkdWc\nWuDFv359h9dUrvK3+SYUvVZvZ7NrikjXHBP4sVqZqQyNt956i4FlR8V93JDelauyUTDcvOZuexZ4\nZVuQxg86Pvb9p9d2+k1IUySL9Jwj6vB7Y4DP22+/zXlnnBZ30JHTwr4r7sISqvbv6/B3EN2ij0dl\nmyI944jA740BPm+99RbXzjmbS2ao5ZkIl3cA4cY6fvzs2m6/VlMki/SMIwI/3YtpNDU1sXLlSj7O\nHcnjKzQtQCKMcWFy8vDvbTs/fiIjkFW2KdIzSQW+MWahMWaDMeZdY8zfjDElUY/daoz5wBiz0Rgz\nK/lD7bl4LcKSAk9KFslet24do0aN4tev7+7wTULiM8bgajclz10XTcHTfmOUEq9H/fciPZRsC/9F\n4Bhr7bHAJuBWAGPM0cCVwBTgXODXxpj4M2qlWazFNDxuw6H6pjb9+vMee4dp33+h2xcAv99PweDh\njq3G6SkbDhFu909wznQfCy87LmZL3+txc9dFXY9gFpHYkqrSsda+EPXrG8ClLT/PBv5irW0Athpj\nPgBOBJYl8349FWsxjdqGJqoDbW8QBkO2dVt3SgBfXrOdD6qaGJyGY++vrA1jmxoxufmMv/VZQtbi\ni6qemjPdl/bKKhGnSWVZ5peBR1p+9tF8AYjY0bItY9ovpjEugXlsEi0B/Ntbmwnn5Md8zInlmNG+\neHIZj7z1EcFw20/BBhswOR6McRFqGXLcfmSywl4ktboMfGPM34HhMR66zVr7ZMtzbgOagEXdPQBj\nzHXAdQBlZWXdfXmPjSzxJtQFk8iN3aqagxhP7MAvyHXT2BTuEHhO8cqGvRTl53Qot7SN9TE/s0Aw\nxF1PraWhKdxhsNbybQdaZyAVke7rsg/fWnu2tfaYGH8iYX8t8DngC/bw1Jt+IHoy+FEt22Lt/wFr\nbYW1tqK0tDSpk+mOWP36sSRSAlic78bEWeyktjEEJrHqk/5oZ3UgZm198MBHeEpGxHxNdSDY4ea3\nBRa9sV2Lo4gkIdkqnXOBW4CLrLV1UQ89BVxpjMkzxowDJgJvJfNeqTZnuq91oY7OzJtV3roMX7yb\nuWcfPZw4C0ABzfcGCvNyunyvbPbFk8vo5BTjive9pmHXJnJHTOr2vrQ4ikjPJVulcz8wAHjRGLPa\nGPMbAGvtWuBRYB3wPHC9tTbr6hXnTPexdP6ZcYM40irvapTuZ6aOw1cQ6jQQ/dWBPl3F89Ab2ykp\n8PQo9GNp3LmJvJHdC3zQKFuRZCQV+NbaCdba0dbaaS1/vhb12I+steOtteXW2ueSP9T0idW9EykB\nTGSU7tChQ9mxc3e/vzlbVRdM2Tk27Hq/2y18ODz7ZirGT4g4jSNG2nYlunsnsvZqZKWmREbpDh06\nlLqaA710tH1f6FAVNhggJ04ffjxej7t19k0tfC7SfY6ZLbMr7cs2I+JV80TfzB0+fDi29gDWWoxJ\nVadH/xXc/T65wyd267Mq8Xq6/Malsk2RzqmF34V43T3R87kMGzYMb66b3IaDvX14fY7X4+bTg2o6\nnUo6lsK8nIS/cYlIbAr8TkRGegaCIdwtrdHo7p4IYwwnVczgyvFN3arEyelkzpj+KPLZvfPGazCs\n4wRonk5KnSKBHq9MVjNoinRNgR9H9Bz6ACFrW1v2sZbkW9cwmPsfewloLmFMpMa/yUGDsWaOH8zS\n+Wcyhj1s3b6DvLHTOjwnx2XiXjAjgZ7INy4RiU19+HHE6yv+/tNr2wz5P2NyKY+v8NM4+Ejq17yI\nvzrAoje2YwG3MYSsxWXAQdke08rtNVSu8vPMr35F4bTzMK6OF8RAMMy8WeVtlkSEtoEea14kTbsg\nkhgFfhzx+oSr6oKtI0ejw907bjr7n7uPcGM9rtzmKQMi3wo0ZXLzxfKeyuVsevxxir54f9znJRLo\n8W6wi0jnFPhxJDrXTqTh7sorJG/EROq3v0PBhJNaH1fYH/b+P5/mggsuYG1paczpFgYVNA90U6CL\npIf68ONIdK6daN7xJxJ4/800HVHfZm2YwDvPcf3113PnhVM63KD1uA13XthxrnsNshJJHQV+HLEG\nY8WbAC0SXQWTT6Nu0+uEG+piPs/J6reuYuTQwZx88snNi5xcelybz3bhpcfFvBmuQVYiqaMunU60\n71qIBFD7G4rHlw3kjS1VMGAIeWVTqV33KgOmn5+JQ85K1oapfesx7rnjptbBVu376iNTVUR/3hpk\nJZJaauF3Q6xW/yUzfKzcXtO6iMeAaefzyapnOTxTdLMCj3M/6oY1LzJygJtrrrmmdVsirXcNshJJ\nLbXwu6l9q3/mgpfbtELzxx4H4TD1W5bjHX9C63YnVWUW5rrxuF3UBIIcwUHeX7aIl/71Gm538z2R\nylV+vv3oO60XyYj2rfdEprUQkcQp8JPUvrVpjIuST19N1T8eJP/IGRjT3LIPBMOZOLyMWPuDcwGw\n1nL++edz8XduZsqU5huykZZ9+7CPiP48u6rJF5HucW4/Q4rEam16J56My5NP7bp/ZOCIMitSWgnw\n4IMPsnv3bm655ZbWbbH65aNFf56dzWKq6h2R7lMLP0mxWqHGGEpOv5Z9T/+Uggkn4coryOAR9q7q\nuiDTvv8C+/fsZveDN3Hv7x7B4zl8Eeis/z1W6z1WTX77m+fRi5/rZq5IfGrhJ6l9K9TbcnM2f/Qx\neI+cQdXLv8vsAfYyC1TVNbL/hV9TeOwsHlgbbtP6jtf/7jamw6R08SSyKI2IdKTAT4HIUolbF1zA\n4MK81u2DzvgygW3vENj8dgaPrvdVv/YgodpqBp56ZYcgjjf52VUnjWbhko0JddGoekekZxT4cfS0\njzg6dFx5BQw571vsf/6XNB3cl9TxuI3hF1dMa9NHno0OLn+Suk1vMPSyOzE5zcca/ZnEK219fIU/\n4QFWmiJZpGcU+DEkM8KzfejkjzmWARUXsfeJHxJurG/d3t2p8EPWctMjq2POQZMu3Z1aonbdqxx8\n628Mu+IHuL3FrdvbfybR34iWzj+TVzbs7VYXjaZIFukZBX4MyfQRxwqj4hMvwTN0HPue+QnWNpdn\n/uzyafziimltWrpfPLmsdaGVWHqzlj9SEZPogi6H3nuZqlf+wNDLvk9O8dDW7YkEcXe7aDqr3hGR\n+FSlE0MyfcSR0IkeWGSM4YhZ1/PxI9/jwJJfMfXy77Q+r31IVYwZ3KHqp7f5SrwsnX9m6+9dHc+h\nd1+g+p+LGHbFjxhadiTWQk0gmPBc9T0ZYKUZNUW6Ty38GJLtI54z3Ue43cAi4/Yw9JI7CO77CO+b\nvyMUih2gkdZrZy39dPNXB1rvW0SOJxYbDlGz7FGq//Uww676vxSPGMudF05h9Z3ntHbXJBLK82aV\nx5w9U100IqmlwI8hFX3EsS4OrrwCJl3zf3HV7efyyy+ntrY25s3hOdN9/PTy47rdh55K0fct5kz3\ndejaaTq4l48fuZ3A1pUM/+K9eAb7kiuNbN9f5aS5KER6iQI/hu70Ecer5ol30fjBpRU888wzFBUV\nMWVaBd/+3fMxbw5HHwMcnoK5N0UHePT51G74F7sevAnv2OkMu/JH5BSXtr6mJ6WRC5dsJNhuDchg\n2KquXiTF1IcfRyJ9xImM+Iy3VN8f//hHJsy9mQ//+G2OmHUDBZNOAdpOIBZ9DJWr/Nz11FqqA71X\npQOHA3zOdB9LN3zEb+65g/odaxl66R3kjZjU4fk9KY1UXb1I71DgJ6Gr+do7u2gYYwiXn83QAaPZ\n9/RCajf8k8Fn/gfuokExg27OdB8Ll2zs9cCPBPiCPz7FfTd/jbzRUxlx7X24cjsGu+Fw/393FhbX\nrJgivUNdOklItmU6ssRL3shyRnz5fnIGDmPnH67nk5WLGT4g9uCq7rZ4k+0GstYyrnEL5557Lnd+\n68uUfObfOOK8b7YJ+8jNZcPhbvfurkylunqR3qEWfhJ60jKtXOVv7eYpKfDgcRmCnnwGfeYaCo/+\nDDUv/w9b1y3mgdLbuOaaa8jLy2uz384WVi/xejCmeQKzkSVezphcyuMr/N0u8bThEHWblnHwzcd5\nItTA/QvuZMMxX4OcjheisLX4YhxXd1am6qr7S0RSQ4GfhO7O196+z7+qLojHbSjxeqgJBBk38Sjm\n3bCY0roP+eEPf8jdd9/NV7/6Va6++mrKysqYN6ucGx9ZHfd4Vt95Tszti97YnlDRSzjYQO17L3Hw\nrSdwFw5m4KlXUjDhBL785Qv5/YKX417cUtEHr7p6kfRT4Cch0ZZppFUfKzCDIcsn9U38/IppUa/z\n8fzzz7NixQp+//vfc/zxx3Psscfy+c9/nqYaFzkDh3XYjzHNq2+1P45XNuyNG/Y2HKLx4y3Ub19D\nw0draNixjryyqRxxwc3kjzq6+Uhavq10dnGLd27qgxfJLgr8JHXVMo218Hl7IWtjzuc+Y8YMZsyY\nwc9//nMWL17MX//6V6qfe4EGPOSVHUveiInkDPbhGezDXXREa+hGVwtFWtnWWmxDLcEDfuo/eo+G\n7Wuo37GOnOIh5JdNpfCYszjivG/iLhzU+v7R31a6urhpZSqR7GfaL7adSRUVFXb58uWZPoyUmhmn\nKySW9lMaxGKt5Wv3P8ljTz9P48dbCR7wE6zyYxsDuPIH4Mr1YnK9GE8euYQINgQI1tYQqjuIyfGQ\nM3AY+aOPIa9sKvmjj8FdMLDN/t3GELa2y28r7UM/3nYRST9jzAprbUVXz1MLP826048deW5n4WmM\n4bffmMN7tcVtLiThhjrC9YcIN9ZhG+sJNzXgcnsYUFRInasQd0ExJie39fkeFzSF2w5o9XrcnU5C\n1tW4AwW8SHZT4KdZV5U17Z8bK1TnPfYOdz21ts2EZO0vJK68gphLKTYS+y+5KQw/v2Jat1rlXY07\nEJHspsBPs1g3Oz1uA5YO0wnUNTbx/afXdgjVYMi2DriKtKpLCjxJzY0/ssTb7Va5RsSK9G0aeJVm\nseblWXjpcSy87DhKvG3r2qvqggmFeCAYwtqOC5QkOtCqpzdUtdKUSN+mwO8F7Vd4irSsC/N6/gWr\nJhDscCH5+RXTOg39ZBcL0YhYkb5NXToZlExXyECvJ2aXTLya+EQqgLqiEbEifZsCPwMiVTjxCmIj\nXT2dTZRW29jUOo1ytO6O/u0uVeOI9F3q0ull0Qukx+L1uLnroilddvcEQ7Hni9d6ryISj1r4vSxW\naWOEL6qL5KZO5syJ6GyRbwW8iLSnwO9l8ULaQJs+9kTq95OpjtHIWBHnUeD3sq6mVI6eaC16jvn2\nEu2XjxXsQJcrdYlI/6O5dHpZrMnUIlMaQMdJyCKhP6jAg7W0GW3b3SUYI++Vl+OKeUM4FZU8ItL7\nNJdOluqstHHmgpc79O9beh7E8aZCiHcPQSNmRfo3BX4GxLupmuqpC7r7Oo2YFenfVJaZRVI9dUG8\n1w0q8GjErIgDKfCzSKqnLoi3vzsvnKJafREHUpdOFkn11AVd7U8BL+IsqtIREenjEq3SUZeOiIhD\nJBX4xpgfGmPeNcasNsa8YIwZGfXYrcaYD4wxG40xs5I/VBERSUayffgLrbXfAzDGfBO4A/iaMeZo\n4EpgCjAS+LsxZpK1NnYBuKSEpksQkc4k1cK31h6M+rWQwzMBzAb+Yq1tsNZuBT4ATkzmvaRz0bNw\nWg5Pl1C5yp/pQxORLJF0lY4x5kfAl4Aa4IyWzT7gjain7WjZJmmSjgXG9Y1BpH/psoVvjPm7Mea9\nGH9mA1hrb7PWjgYWATd09wCMMdcZY5YbY5bv3bu3+2cgQOpH6eobg0j/02XgW2vPttYeE+PPk+2e\nugi4pOVnPzA66rFRLdti7f8Ba22FtbaitLS0J+cgpH6UbmffGESkb0q2Smdi1K+zgQ0tPz8FXGmM\nyTPGjAMmAm8l817SuVSP0k31NwYRybxk+/AXGGPKgTCwDfgagLV2rTHmUWAd0ARcrwqd9Er1KN2u\n5u0Xkb5HI20lps7m7deNW5HsovnwJSmp/sYgIpmnwJe4tBi6SP+iuXRERBxCgS8i4hAKfBERh1Dg\ni4g4hAJfRMQhFPgiIg6hwBcRcQgFvoiIQyjwRUQcQoEvIuIQWTV5mjFmL82zbqbTEGBfmt8j2+ic\nnUHn7AyxznmMtbbLBUWyKvB7gzFmeSKzyvUnOmdn0Dk7QzLnrC4dERGHUOCLiDiEEwP/gUwfQAbo\nnJ1B5+wMPT5nx/Xhi4g4lRNb+CIijuSIwDfG/NAY864xZrUx5gVjzMiox241xnxgjNlojJmVyeNM\nJWPMQmPMhpbz/psxpiTqsf56zpcZY9YaY8LGmIp2j/XLcwYwxpzbcl4fGGPmZ/p40sEY8wdjzB5j\nzHtR2wYbY140xrzf8t9BmTzGVDPGjDbGvGKMWdfy7/pbLdt7ft7W2n7/ByiO+vmbwG9afj4aeAfI\nA8YBmwF3po83Red8DpDT8vOPgR874JyPAsqBV4GKqO39+ZzdLedzJJDbcp5HZ/q40nCenwaOB96L\n2nYvML/l5/mRf+P95Q8wAji+5ecBwKaWf8s9Pm9HtPCttQejfi0EIjcuZgN/sdY2WGu3Ah8AJ/b2\n8aWDtfYFa21Ty69vAKNafu7P57zeWrsxxkP99pxpPo8PrLVbrLWNwF9oPt9+xVr7GnCg3ebZwIMt\nPz8IzOnVg0oza+0ua+3Klp8/AdYDPpI4b0cEPoAx5kfGmI+ALwB3tGz2AR9FPW1Hy7b+5svAcy0/\nO+Wco/Xnc+7P59aVYdbaXS0/7waGZfJg0skYMxaYDrxJEuedk/IjyxBjzN+B4TEeus1a+6S19jbg\nNmPMrcANwJ29eoBp0NU5tzznNqAJWNSbx5YuiZyzOI+11hpj+mXJoTGmCHgcuNFae9AY0/pYd8+7\n3wS+tfbsBJ+6CHiW5sD3A6OjHhvVsq1P6OqcjTHXAp8DzrItHX7083OOo0+fcxf687l15WNjzAhr\n7S5jzAhgT6YPKNWMMR6aw36RtfaJls09Pm9HdOkYYyZG/Tob2NDy81PAlcaYPGPMOGAi8FZvH186\nGGPOBW4BLrLW1kU91G/PuRP9+ZzfBiYaY8YZY3KBK2k+Xyd4Crim5edrgH71Dc80N+V/D6y31v4s\n6qGen3em70T30t3ux4H3gHeBpwFf1GO30VzlsBE4L9PHmsJz/oDmvt3VLX9+44BzvpjmPuwG4GNg\nSX8/55ZzO5/mCo7NNHdtZfyY0nCODwO7gGDL3/G/A0cALwHvA38HBmf6OFN8zqfRXGDybtT/x+cn\nc94aaSsi4hCO6NIREREFvoiIYyjwRUQcQoEvIuIQCnwREYdQ4IuIOIQCX0TEIRT4IiIO8f8B8/3E\n6c7+vJQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112cdcb50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(7)\n",
    "pi, mu, sigma = fit_GMM(X, 3)\n",
    "print pi\n",
    "\n",
    "plotter_GMM(X, mu, sigma)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Also, we see that the earlier problem with $k$-means is resolved using our more advanced GMM:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112e174d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mean1 = np.array([0,0])\n",
    "cov1 = np.array([[1,0],[0,1]])\n",
    "data1 = sample_gaussian(mean1, cov1, 100)\n",
    "\n",
    "mean2 = np.array([0,10])\n",
    "cov2 = np.array([[1,0],[0,1]])\n",
    "data2 = sample_gaussian(mean2, cov2, 100)\n",
    "\n",
    "mean3 = np.array([10,5])\n",
    "cov3 = np.array([[1,0],[0,50]])\n",
    "data3 = sample_gaussian(mean3, cov3, 100)\n",
    "\n",
    "data = np.concatenate([data1, data2, data3])\n",
    "pi, mu, sigma = fit_GMM(data, 3)\n",
    "plotter_GMM(data, mu, sigma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
